Visual Theme


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


В нем обычно делается следующее:

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

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


Подробнее о makehtml в версии 5.0.

Особенности


Подобная обработка позволяет в визуальном режиме отлаживать тему и делать разные 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)