Joomla 1.5 SEF-ссылки во внешнем файле (подключение к Joomla из внешних файлов)

Discussion in 'Создание расширений для Joomla' started by OlegM, Apr 19, 2010.

  1. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Задача: получить доступ к API Joomla 1.5 из внешнего файла, в первую очередь для работы с БД и создания SEF-ссылок.

    Подсмотрел в одном компоненте такую конструкцию:
    Код (PHP):
    1. define( '_JEXEC', 1 );
    2.  
    3. if (stristr( $_SERVER['SERVER_SOFTWARE'], 'win32' )) {
    4.     define( 'JPATH_BASE', realpath(dirname(__FILE__) ));
    5. } else define( 'JPATH_BASE', realpath(dirname(__FILE__) ));
    6.  
    7. define( 'DS', DIRECTORY_SEPARATOR );
    8. require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
    9. require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
    10. $mainframe =& JFactory::getApplication('site');
    11. $mainframe->initialise();

    Файл находится в корне, доступ к базе есть, JRoute::_($url) работает.

    Может кто-нибудь прояснить, все ли строки необходимы и что может еще понадобиться для других задач?
    Может omfgpanda соизволит написать статью :[
     
  2.  
  3. Gronpipmaster
    Offline

    Gronpipmaster Недавно здесь => Cпециалист <=

    Joined:
    Jan 21, 2009
    Messages:
    1,392
    Likes Received:
    62
    Gender:
    Male
    sourpuss, ага особенно радует
    на кой
     
  4. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Правда радует? :)

    Предлагайте лучшие решения.
     
  5. Gronpipmaster
    Offline

    Gronpipmaster Недавно здесь => Cпециалист <=

    Joined:
    Jan 21, 2009
    Messages:
    1,392
    Likes Received:
    62
    Gender:
    Male
    sourpuss, да и вообще по мойму можно заменить это
    этим
    Код (PHP):
    1. define( 'JPATH_BASE', realpath(dirname(__FILE__) ));
     
  6. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Думаю тут и писать то нечего:
    Код (PHP):
    1. require_once JPATH_BASE . 'libraries/loader.php';
    2. define('JPATH_BASE',1);
    3.  
    4. jimport('joomla.base.object');
    5. ....


    Подключаем Jloader для получения возможности импортировать нужные нам библиотеки.
    Засылаем фейковую константу.
    Подключаем нужные библиотеки с|:)
     
  7. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    хмм.... поставьте на редакторе
    Код (PHP):
    1.  
    line-height: normal; plzzz :D
     
  8. Offline

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

    Joined:
    Mar 4, 2009
    Messages:
    9
    Likes Received:
    0
    Gender:
    Male
    хочу поднять данную тему.

    у меня такая проблема.

    когда вывожу с джумлы JRoute::_('index.php?opti...);
    то показывает правильную ссылку,
    а когда с внешнего фала (всё уже вроде подключено), то вот в таком виде


    sitemap/home/27/859
    причём sitemap, это папка в которой мы находимся, её вообще в урле не должно быть.
    Со слешами всё правильно у меня стоит.

    А должно быть что-то типа blog/2011-10-17-130 (алиас-категории/алиас-материала) то что вижу когда заправшиваю из джумлы.

    стоит artio sef, может в этом дело?
     

Share This Page

Loading...