{% else-1 %}
(10 мар 2015, 23:26) (0/0) [0]
ICE, к сожалению нет.
(10 мар 2015, 23:22) (0/0) [0]
ICE, есть книга одна(знакомый скидывал, но так и не читал), где расписывается как создавалась CMS на MVS модели. какие проблемы решали, какое решение выбрали и почему и т.п. попробуй поискать, может найдешь)
(10 мар 2015, 22:48) (0/0) [0]
donttime, дык я же не говорю, что эталон и совершенство) шаблоны и компоненты или модели и виды(называй как хочешь) + модульность - это лучшее решение, на мой взгляд. я не спорю, что битрикс не идеал, но в нем есть много хороших идей, которые можно взять для своего проекта)
(10 мар 2015, 18:36) (0/0) [0]
donttime, расширю твою фантазию)
в ядре создадим папку "templates" в ней подпапки где их название - это код шаблона для сайта( например подпапка main). в подпапках файлы header.php, footer.php и другие, которые посчитаешь нужными.
суть такая.
в админке устанавливаешь шаблон сайта(выбираешь папку из которой подключать header, footer и т.д.). можешь по условию прописать какой будет шаблон подключаться.
есть класс с методом для формирования страницы, в котором получаем шаблон сайта, включаем буферизацию, подключаем шапку, низ, и контент, сохраняем буфер в переменную, очищаем буфер и выводим результат пользователь.
так же дописываем метод очистки буферизации, который пригодится если нужно будет вывести только один контент(например при ajax-запросе).
добавляем методы, которые добавляют CSS и JS-файлы в переменные(массивы) объекта класса, в которые передаем только путь к файлам.
добавляем методы для вывода CSS и JS-файлов в html-виде.
так же пишем методы установки/вывода методанных и заголовка стр.
в результате получим возможность в любом месте добавить css или js файлы, дополнить/переопределить заголовок или метаданные.
далее. создаем папку "components" с подпапками(название компонента, например menu).
в папке "menu" создаем файл отвечающий за логику компонента(получение данных и формирования массива результата). так же папку для шаблонов компонента. в папке шаблонов создаем подпапки(имя-название шаблона) в котором имеются файлы вывода html используя массив сформированный в файле логики компонента.
создаем метод в который передаем название компонента и его шаблон, а на выходе получаем html.
в результате получим возможность на одних и тех же данных(которые если подумать можно и закешировать) формировать разный внешний вид(верхнее меню, нижнее меню и т.д.).
================================
по сути кто знаком с bitrix сразу увидит знакомое))) у меня уже было реализована данная структура, но после попытки обновления линя на несколько версий она была утрачена) есть множество чего не описал, но если кого за интересует сия писня, то тот сам для себя допишет и улучшит написанное)
  • 1 из 1