Обсуждение, предложения - тема для программистов
Первый вопрос, который меня волнует — директория темы. Сейчас просматриваю и понимаю, что там много лишнего. Мне и то не так легко разобраться, а нашему верстальщику файлы темы iCMS, вовсе оказались "китайским алфавитом".
Предложение 1: Несмотря на то что админка стала компонентом, думаю ее полезно будет вынести из директории темы или хотябы сделать отдельную тему (по примеру джумлы).
Предложение 2: В файлах темы много лишнего PHP. Стоит добавить какой-то pretemplate, где будут формироваться конечные перменные или функции вывода для шаблона. Например, условная конструкция добавление или редактрование может больше не смущать верстальщиков, а выводить короткую и единую для всех страниц перменную $page_title, которая устанавливается в pretamplate.
Предложение 3: В каждом компоненте иметь директорию template с дефолтным оформлением, которое будет подтягиваться в случае если соответствующий файл не определен в текущей теме.
Шаблоны админки должны лежать в папке с шаблонами, это нормально.Предложение 1: Несмотря на то что админка стала компонентом, думаю ее полезно будет вынести из директории темы или хотябы сделать отдельную тему (по примеру джумлы).
Копировать шаблоны админки в свою тему не обязательно.
Темы вообще используют наследование. То есть в своей теме вы можете иметь только те файлы, которые должны отличаться от дефолтных. Делать полную копию дефолтной темы не нужно.
Заголовок страницы в идеологии MVC относится к представлению, то есть внешнему виду, то есть к шаблонам. Каким должен быть заголовок — определяет только шаблон. Контроллер должен отвечать только за бизнес-логику (получить запрос, извлечь данные, передать на вывод).Например, условная конструкция добавление или редактрование может больше не смущать верстальщиков, а выводить короткую и единую для всех страниц перменную $page_title, которая устанавливается в pretamplate.
"Оформление" может включать в себя CSS, JS, изображения. То есть статические файлы, которые должны лежать отдельно от исполняемых. Это одно из базовых правил безопасности. В InstantCMS 2 папка system (где лежит код компонентов) не может содержать файлы, доступные по прямому URL. В идеале, эту папку вообще надо выносить из document root сервера туда, где она будет недоступна через web. Поэтому все статические файлы вынесены в отдельные папки — cache, templates, wysiwyg, upload. Для шаблонов это папка templates, что логично.В каждом компоненте иметь директорию template с дефолтным оформлением
Ok. А какие файлы являются обязательными?Темы вообще используют наследование. То есть в своей теме вы можете иметь только те файлы, которые должны отличаться от дефолтных. Делать полную копию дефолтной темы не нужно.
css/colorpicker.css
css/datatree.css
css/jquery-ui.css
images/?
js/?
admin.tpl.php
main.tpl.php
options.css.php
options.form.php
scheme.html
Правильно понял?
main.tpl.phpкакие файлы являются обязательными?
scheme.html
При таком наборе в админке белый экран.main.tpl.php
scheme.html
В моделях часто встречаю $this->useCache() и $this->clean(); но не знаю как ими пользоваться