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)