2014-02-16 3 views
1

Я пытаюсь инициировать модуль AdminController извне Prestashop. В основном, я создаю внешнюю программу, которая использует Prestashop для получения текущего сотрудника, для которого я должен создать экземпляр AdminController, но его ошибку бросания.Можно ли запустить AdminController извне Prestashop?

Многие модули инициализировать FrontController, но я не могу найти ни одного примера для AdminController как:

include(dirname(__FILE__).'/../../config/config.inc.php'); 
include(dirname(__FILE__).'/../../init.php'); 

Пожалуйста, советы.

+0

Можете ли вы объяснить немного больше того, что вы пытаетесь сделать? Для чего вы получаете нынешнего сотрудника? – user2831723

+0

@ user2831723 Конечно, у меня есть внешняя библиотека, где я хочу отображать текущего зарегистрированного сотрудника в Prestashop при доступе из веб-браузера. Оба - внешние lib и Prestashop установлены на одном веб-сервере и могут обращаться друг к другу. –

ответ

0

Я нашел решение в конце концов. Просто определите _PS_ADMIN_DIR_ и запустите config.inc.php, Prestashop автоматически загрузит среду администратора. Однако, если вы загружаете это из модуля, его сложно найти каталог администратора, поскольку он не определен нигде, поэтому я написал этот небольшой скрипт.

$admindir = ''; 
foreach (glob("../../*/ajaxfilemanager", GLOB_ONLYDIR) as $filename) { 
    $admindir = str_replace('../../', '', $filename); 
    $admindir = str_replace('/ajaxfilemanager', '', $admindir); 

} 
define('_PS_ADMIN_DIR_', getcwd().'/../../'.$admindir); 
require(_PS_ADMIN_DIR_.'/../config/config.inc.php'); 

Наслаждайтесь!

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