Возникла необходимость добавить собственную страницу к магазину на движке Shop script(306 версия). После прочтения форумов и дебага это было реализовано следующим образом.
1) в таблицу SC_divisions были добавлены следующие значения
1 2 3 4 |
INSERT INTO `SC_divisions` (`xID`, `xName`, `xKey`, `xUnicKey`, `xParentID`, `xEnabled`, `xPriority`, `xTemplate`, `xLinkDivisionUKey`) VALUES ('263', 'png_tag', '', 'tag', '1', '1', '9', '', '') |
xName – имя пункта
xUnicKey – это ключ в ссылке, т.е. в шаблоне это будет “?ukey=tag”
xParentID – это идентификатор родителя, кому будет принадлежать пункт, т.к. родителя нет, то поставила 1 по аналогии со страницей home
2) в таблицу SC_division_interface заношу следующую запись
1 2 3 |
INSERT INTO `SC_division_interface` (`xDivisionID`, `xInterface`, `xPriority`, `xInheritable`) VALUES ('263', '1_tag', '0', '0'); |
xDivisionID – полученное значение из SC_divisions(xID)
xInterface – означает, где и какая запись будет обрабатываться (1 – который совпадает с ModuleID из таблицы SC_modules, в данном случае указывает на файл class.test.php)
3. в /published/SC/html/scripts/modules/test/class.test.php добавляем в метод initInterfaces() следующее
1 2 3 4 5 6 7 8 |
function initInterfaces(){ $this->Interfaces = array( ... 'tag' => array( 'name' => 'pgn_tag', 'method' => 'methodTag', ), ); |
tag совпадает с записью в базе в таблице SC_division_interface, поле xInterface, а именно 1_tag
Здесь же создаем обработчик methodTag()
1 2 3 4 5 |
function methodTag() { global $smarty; $smarty->assign('main_content_template', 'customtag.html'); } |
4. добавляем /published/SC/html/scripts/templates/frontend/customtag.html в котором будем выводить желаемое
5. ссылка на новую страницу добавляется следующим образом
1 |
<a href="{"?ukey=tag"|set_query}">какой-то текст</a> |
Вот и все.