Добавление функциональности для Webasyst Shop-Script

Материал из Newman's WiKi.

Перейти к: навигация, поиск

Добавление новых функций в магазин Webasyst Shop-Script

Рассмотрим добавление функционала на примере добавления функции импорта в формате XML.

Добавление пункта в подменю внутри админки

Добавим запись о пункте меню в базу данных

INSERT INTO `SC_divisions` SET
		`xName`	=	'pgn_import_products_xml',
		`xKey`	=	'',
		`xUnicKey`=	'',
		`xParentID`=	'9',
		`xEnabled`=	'1',
		`xPriority`=	'15',
		`xTemplate`=	'',
		`xLinkDivisionUKey`= '';
  • xName - имя пункта меню
  • xParentID - идентификатор родителского меню. В нашем случае добавляем подпункт для раздела "Продукты"

Разрешим пользователям доступ к данному подпункту

INSERT INTO `U_ACCESSRIGHTS` 
(`AR_ID`, `AR_PATH`, `AR_OBJECT_ID`, `AR_VALUE`,`AR_AUX`)
VALUES ('ADMIN', '/ROOT/SC/FUNCTIONS', 'SC__209', '1', NULL)
  • AR_ID - идентификатор пользователя. Если в системе несколько пользователей, то для каждого нужно добавить подобную запись.
  • AR_OBJECT_ID в сочетании с AR_PATH - указываем объект для которого разрешаем доступ. В нашем случае это подпункт меню. 209 - это идентификатор записи созданой предыдущим запросом

Добавим перевод для пункта меню

INSERT INTO `sc_local` 
(`id`, `lang_id`, `value`, `group`, `subgroup`)
VALUES ('pgn_import_products_xml', '1', 'Импорт XML', 'back', 'gen'), 
('pgn_import_products_xml', '2', 'Import XML', 'back', 'gen');

Добавляем поддержку русского и английского языков

В результате в админке появляется пункт меню, но пока при щелчке по нему ничего не происходит - открывается пустая страница. Необходимо добавить функционал.

Внимание: обновление меню происходит только в том случае если обновить целиком страницу или же щелкнуть по иконке "Магазин" в главном меню Webasyst.

Добавление функционала

Указываем файл скрипта, который будет обрабатывать открытие страницы

INSERT INTO `sc_division_interface` 
(`xDivisionID`, `xInterface`, `xPriority`, `xInheritable`)
VALUES ('209', '1_b_import2xml', '0', '0');
  • xDivisionID - идентификатор записи с информацией о подпункте меню
  • xInterface - имя файл. В нашем случае это будет файл b_import2xml.php

Файл b_import2xml.php располагается в папке /published/SC/html/scripts/modules/test/_methods Принцип организации файла можно посмотреть в других файлах из этого каталога.

Файлы шаблона используемые в этих скриптах находятся в папке /published/SC/html/scripts/templates/backend

Личные инструменты