Это старая версия Справка/QS/VisualTheme за 2017-11-11 13:59:26..

Visual Theme


В QS более ранних версий для тем надо было определять header.php и footer.php в папке themes.
В QS 5 введено расширение, которое вместо этого подключает файл makehtml.php с параметром content.

В нем обычно делается следующее:
  • Создается Smarty-шаблонизатор
  • Вычисляется файл темы (например, theme.html)
  • Файл темы обрабатывается; в переменную content записано содержимое страницы.

Пример: тема bootstrapqs5.

Подробнее о makehtml.

Особенности


Подобная обработка позволяет в визуальном режиме отлаживать тему и делать разные html-шаблоны для разных страниц.

Основные особенности:
  • В theme.htm должны быть теги <!-- SmartyUp --> и <!-- SmartyDown --> – по ним «режется файл» и добавляются нужные для QS JS и CSS-файлы
  • {"bs_adminlinks"|themeelement} – так в Smarty выводятся при необходимости PHP-скрипты темы, находящиеся в папке elements
  • идет препроцессинг перед обработкой Smarty:
    • автоматическая обработка картинок и js – img/xxx заменяется на {themeurl}/img/xxx и т.д.
    • <!-- SmartyIfAdmin --> и <!-- SmartyEndIf --> – между этими тегами будет видно только админу
    • кое-что еще
    • (подробнее можно смотреть в classes/extension.php функцию visualSmartyProc2)