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.
Этим же способом можно на отдельную страницу вынести например списки продуктов, полный список информационных страниц и т.п.