2014-02-03 3 views
0

Наконец-то мы переносим несколько сайтов J1.5 на J3.2. Наряду с собственным кодом у нас есть ряд внутренних автономных скриптов, которые основывались на загрузке и доступе ко всему в Joomla без прохождения через CMS и обычный MVC компонентов/модулей/плагинов. Мы в основном использовали зарегистрированные в $ user и $ db объекты вместе с сторонним API для выполнения ряда внутренних функций.Доступ к среде Joomla без CMS

, как мы добились этого в J1.5 следующим образом:

if (!defined('_JEXEC')) { 
    define('_JEXEC', 1); 
    define ('JPATH_BASE', "c:\\wamp\\www\\oursite"); 
    define('DS', DIRECTORY_SEPARATOR); 
    require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
    require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
    require_once (JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php'); 
    require_once (JPATH_LIBRARIES.DS.'joomla'.DS.'import.php'); // Joomla library imports. 
    global $mainframe; 
    $mainframe =& JFactory::getApplication('site'); 
} 
$db = &JFactory::getDBO(); 
$user = JFactory::getUser(); 

я провел выходные пытается сделать то же самое с J32 с небольшим успехом - очевидно, J32 довольно сильно отличается от J15 , но новые термины «Платформа», «API» и «Framework» возвращают миллионы результатов, которые не имеют реальной значимости. Я также понимаю, что «Joomla Framework» предоставляет огромные возможности, но у нас нет ресурсов для переписывания всего, используя эти возможности, поэтому мы просто хотим воспроизвести вышеуказанный код для наших внутренних страниц, которые используют сторонний API, в то время как основная работы заключается в миграции сайта, который мир видит и использует.

Есть ли способ выполнить вышеуказанный код в Joomla 3.2?

ответ

1

Вы можете просто использовать следующее, что я сделал несколько настроек. Я протестировал это прямо сейчас на моем локальном хосте, запускающем Joomla 3.2.1, с запросом базы данных и пользовательским объектом.

if (!defined('_JEXEC')) { 
    define('_JEXEC', 1); 
    define ('JPATH_BASE', 'c:\\wamp\\www\\oursite'); 

    require_once (JPATH_BASE .'/includes/defines.php'); 
    require_once (JPATH_BASE .'/includes/framework.php'); 
    $mainframe = JFactory::getApplication('site'); 
} 
$db = JFactory::getDbo(); 
$user = JFactory::getUser(); 

Надеется, что это помогает

+0

как-то я знаю, что это было бы вы, что ответ на этот вопрос .... после очень долгой ночи, я был в состоянии приблизиться к этому с некоторыми манипуляциями с кодом на HTTP : //docs.joomla.org/Framework: Creating_a_Stand-alone_Application # Building_a_Web_Application_on_the_Framework. Благодаря!!! – GDP

+0

lol приветствую :) – Lodder

Смежные вопросы