Joomla 1.5 Добавляю сторонний php-класс для ресайза и upload-а, хочу в этом классе сразу писать в БД, как подкл

Тема в разделе "Программирование", создана пользователем Nau, 16.07.2010.

  1. Offline

    Nau Недавно здесь

    Регистрация:
    12.05.2009
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Создаю административный компонент в Joomla 1.5, Добавляю сторонний php-класс для ресайза и upload-а, хочу в этом классе сразу писать в БД, как подключить?

    Пытаюсь делать вот так:

    $joomla_root_path = 'Z:/home/site/www/';
    $database = NULL;

    include($joomla_root_path . "configuration.php");
    include($joomla_root_path . "includes/database.php");
    include($joomla_root_path . "includes/joomla.php");

    Выдаёт ошибку.... Restricted access

    Без двух последних строчек подключает конфигурационный файл.... всё работает.... но тогда естественно возникает проблема no found JFactory...

    класс положил в папку classes в компоненте (administrator\components\my_component\
     
    Последнее редактирование: 16.07.2010
  2.  
  3. Offline

    botanist специалист

    Регистрация:
    15.02.2009
    Сообщения:
    461
    Симпатии:
    49
    Пол:
    Мужской
    Ну вообще вот так
    Код (PHP):
    1. define( '_JEXEC', 1 );
    2. define('JPATH_BASE', dirname(__FILE__) );
    3. define( 'DS', DIRECTORY_SEPARATOR );
    4. require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    5. require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    6. $mainframe =& JFactory::getApplication('site');
    7. $db = & JFactory::getDBO();

    Только не понял, на какой х прямое подключение фреймворка внутри компонента. Посмотри в стандартном компоненте как хельперы подключаются и сделай по аналогии.
     
  4. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    А поиском воспользоваться лень ? Я уже не однократно давал ответ на этот вопрос:

    Подключаем лоадер:
    Код (PHP):
    1. require_once 'libraries/loader.php';

    Подсовываем системную константу:
    Код (PHP):
    1. define('JPATH_BASE',1);

    А за тем подключаем нужные нам библиотеки, например:
    Код (PHP):
    1. jimport('joomla.base.object');
    2. jimport('joomla.database.database');
     
  5. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    И вообще рекомендую проектировать компонент придерживаясь MVC структуры и описывать все нужные Вам классы в соответствующих моделях. Тогда и проблем будет меньше и с безопасностью по надежнее )
     

Поделиться этой страницей

Загрузка...