понедельник, 12 декабря 2011 г.

Вывод информационной страницы на главной

По умолчанию на главной страницы в webasyst выводятся категории. В некоторых магазинах хотят выводить рекламный текст вместо категорий на главной. Можно зайти в папку published/SC/html/scripts/templates/frontend и в файле root_categories.html вместо вывода кода категорий вывести любой текст или изображение. Но это довольно неудобно. Особенно если нужно часто менять информацию на главной.

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

В админке магазина в разделе “Информационные страницы” создадим новый документ
Сделаем функцию в которой получим наш документ с базы
Подключим функцию к шаблону

В админке магазина в разделе “Информационные страницы” создадим новый документ

Заходим в админке в Информационные страницы и там нажимаем на кнопку – “Добавить страницу“. Появится форма добавления страницы. В поле формы “Имя страницы:” Вводим например, “Главная”. В поле “ID страницы (часть URL; используется в ссылках на эту страницу):” вводим “home“. В поле “Текст:” вводим текст который будет отображаться на главной страницы магазина.

Сделаем функцию в которой получим наш документ с базы

В файле – published/SC/html/scripts/modules/test/class.test.php напишем следующий код на строчке 222:
$this->__registerComponent('getmainpage', 'cpt_lbl_getmainpage', array(TPLID_GENERAL_LAYOUT));

В базу данных вставим данные
INSERT INTO `SC_interface_interfaces` VALUES ('51_cpt_connector', '1_getmainpage', 0);

Дальше ниже функции “cpt_maincontents()” в файле – published/SC/html/scripts/modules/test/class.test.php введем нашу функцию -
function cpt_getmainpage(){
$q=mysql_query("SELECT aux_page_text_ru FROM SC_aux_pages WHERE aux_page_slug = 'home'");
while($r = mysql_fetch_object($q)) {
print $r->aux_page_text_ru;
}
}

В коде, что выше, делаем запрос в базу, в котором выбираем данные с поля aux_page_text_ru таблицы FROM SC_aux_pages где в поле aux_page_slug равно home.

Подключим функцию к шаблону

Теперь нужно зайти в наш шаблон который может находиться например в папке \published\SC\html\scripts\repo_themes и подключить в шаблоне (например, в файле – index.html) нашу функцию такой командой – {cpt_getmainpage overridestyle=”}, а с файла root_categories.html нужно убрать весь код чтобы не выводить категории на главной. Все теперь вместо категорий у нас выводится содержимое материала с модуля вебасиста – информационные страницы.

Комментариев нет:

Отправить комментарий