WD5 - разработка сайтов

Webasyst как сделать голосование (опрос) на отдельной странице

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

Шаг №1: Создание голосования

Создаем опрос (голосование), для этого переходим в Администрирование -> Инструменты -> Голосование.

Шаг №2: Информационная страница

Отдельные информационные страницы в магазине называются aux_page, создадим одну из них, можно сразу написать какой-то поясняющий текст о голосовании (опросе). Создадим новую страницу Администрирование -> Инструменты -> Информационные страницы -> кнопка "Добавить страницу".

После создания нам становится известен ее номер, например это будет адрес /index.php?show_aux_page=15

Шаг №3: Редактирование шаблона

Теперь переходим в визуальный редактор, Администрирование -> Дизайн -> Редактор дизайна -> Найти Вашу тему -> Редактировать -> Основная разметка -> Редактировать HTML-код

Шаг №4: Поиск вывода основного содержимого

Через поиск находим участок кода начинающийся содержащий строку

cpt_maincontent

у меня это {cpt_maincontent overridestyle=''}

Шаг №5: Добавление условия при котором выводить информацию с опросом

ниже после закрывающей фигурной скобки "}" дописываем

{if $main_content_template|strpos:"aux_page" && $smarty.get.ukey eq 'auxpage_15'}
{cpt_survey overridestyle=''}
{/if}

в данном случае цифру 15 заменить на свою, в коде выделена жирным.

Итоги:

Пример участок кода получающийся после редактирования:

<!-- cpt_container_start -->{cpt_maincontent overridestyle=''}
{if $main_content_template|strpos:"aux_page" && $smarty.get.ukey eq 'auxpage_15'}
{cpt_survey overridestyle=''}
{/if}
<!-- cpt_container_end -->

строка с {cpt_maincontent overridestyle=''} отвечает за отображение основного содержимого, т.е. если опрос нужно сделать не после, а до текста, то условие нужно вставлять до содержимого, т.е. участок кода будет выглядеть примерно так.

<!-- cpt_container_start -->
{if $main_content_template|strpos:"aux_page" && $smarty.get.ukey eq 'auxpage_15'}
{cpt_survey overridestyle=''}
{/if}
{cpt_maincontent overridestyle=''}
<!-- cpt_container_end -->

p.s.
Этим же способом можно на отдельную страницу вынести например списки продуктов, полный список информационных страниц и т.п.

 

None