Мы создаем успех.

Webasyst Shop-script добавляем свой модуль в администраторскую панель.

Главная » Блог » Webasyst Shop-script добавляем свой модуль в администраторскую панель.

Сегодня я хочу написать, как можно добавить свой модуль в администраторскую панель данного движка. Для начала давайте создадим фаил, который будет выполнять наши действия, для этого переходим в папку:

/published/SC/html/scripts/modules/test/_methods/

 Как мы видим там находятся файлы с именами: b_catalog_discuss.php, b_categories_products.php и так далее. Создадим свой фаил с именем:

b_.php например b_my_module.php

 Откроем его и проверим кодировку файла, она должна быть UTF-8 без BOM. Теперь вставим туда следующий код:

<?PHP
// подключаем смарти
$Register = &Register::getInstance();
$smarty = &$Register->get(VAR_SMARTY);
echo 'Наш модуль успешно запущен';
?>

 Тестовый модуль готов. Теперь его надо добавить в меню администраторской панели, для этого нужно создать где нибудь в корне фаил установки, назовем его installer_my_module.php

<?PHP
// ---------------------------------------------------------------------
@ini_set('display_errors', true);

define('DIR_ROOT', $_SERVER['DOCUMENT_ROOT'].'/published/SC/html/scripts/' );
define('DIR_CFG', DIR_ROOT.'/cfg');
define('DIR_FUNC', DIR_ROOT.'/core_functions');

include(DIR_FUNC.'/setting_functions.php' );
include_once(DIR_ROOT.'/includes/init.php');
include_once(DIR_CFG.'/connect.inc.wa.php');

$DB_tree = new DataBase();
$DB_tree->connect(SystemSettings::get('DB_HOST'), SystemSettings::get('DB_USER'), SystemSettings::get('DB_PASS'));

$DB_tree->selectDB(SystemSettings::get('DB_NAME'));

$module_name_rus = 'Наш модуль'; // Имя модуля, которое будет отображаться в меню
$module_name = 'my_module'; // имя файла
$sort = 14; // Где будет распологаться наш модуль в меню

// ID раздела, 
// 10  - "Заказы"
// 89  - "Покупатели"
// 9   - "Продукты", 
// 103 - "Отчеты"
// 12  - "Инструменты"
// 11  - "Настройки"
// 167 - "Дизайн"
$menu_id = 9; 	

mysql_query("INSERT INTO `SC_divisions` (`xID`, `xName`, `xKey`, `xUnicKey`, `xParentID`, `xEnabled`, `xPriority`, `xTemplate`, `xLinkDivisionUKey`) 
				VALUES  (NULL, '{$module_name_rus}', '', '{$module_name}', {$menu_id}, 1, {$sort}, '', '');");

$last_id=mysql_insert_id();

mysql_query("INSERT INTO `SC_division_interface` (`xDivisionID`, `xInterface`, `xPriority`, `xInheritable`) VALUES ({$last_id}, '1_b_{$module_name}', 0, 0);");

echo "Модуль {$module_name_rus} {$last_id} успешно установлен "; 
?>

После установки модуля, необходимо дать права доступа к этому модулю, и только после этого он появится в меню.

В качестве шаблонизатора используется smarty, а сами шаблоны для админки находятся тут:

/published/SC/html/scripts/templates/backend/

В качестве примера можно привести подключение файла шаблона и передачу переменных:

	$smarty->assign('title',	'<h1>Заголовок страницы</h1>');
	// подключаем фаил /published/SC/html/scripts/templates/backend/feedphone.html
	$smarty->assign('admin_sub_dpt', 'feedphone.html');

Как мы видим, установить свой модуль не трудно и на это необходимо пару минут. Но если у вас возникают сложности или у вас не хватает навыков, то наша компания предоставит вам услуги по веб-программированию. Мы будем рады с вами сотрудничать.