Серьезное предложение по шаблонизатору.
Всем привет долго я занимался версткой, и Joomla десятки шаблонов и WP пару десятков. И даже vBulletin 3.8 ой мама дорогая и даже 4.* (кто знает тот поймет :))
Так что мне есть с чем сравнивать шаблонизатор LS, хорошо что выбрали Smarty очень умненький и интуитивный, как верстальщик это говорю.
Но в чем проблема не всегда понятно где какой шаблон? в каком Action или еще где? А бывает ИНОГДА что плагин БЛИН заменяет шаблон, не знаю почему такое решение выбрали :) как мне кажется не самое удачное но ладно. ПО мне так хуки лучшее решение…
Ну так в чем ПРЕДЛОЖЕНИЕ!
vBulletin прям в движок вшили такую замечательную особенность, что там можно включать отображение название шаблонов прям в HTML которые используются.
То есть как пример на LS
ну и так далее.
А ЕСЛИ! ВДРУГ плагин заменяет шаблон ТО, пусть пишется название плагина.
Пример:
ТАК ЖЕ можно на счет Action сделать и пр.
пример:
ну вы меня поняли :)
PS это по мотивам не то что я вот такой лентяй :) я с удовольствием пользуюсь внутреним поиском phpShtorm, и от меня не один шаблон не скроется, но так посудить я бы с экономил ну пару часов на сложном шаблоне точно :)
Хорошо бы это встроить прям в движок, но если кто сделает такой плагин с радостью куплю.
Так что мне есть с чем сравнивать шаблонизатор LS, хорошо что выбрали Smarty очень умненький и интуитивный, как верстальщик это говорю.
Но в чем проблема не всегда понятно где какой шаблон? в каком Action или еще где? А бывает ИНОГДА что плагин БЛИН заменяет шаблон, не знаю почему такое решение выбрали :) как мне кажется не самое удачное но ладно. ПО мне так хуки лучшее решение…
Ну так в чем ПРЕДЛОЖЕНИЕ!
vBulletin прям в движок вшили такую замечательную особенность, что там можно включать отображение название шаблонов прям в HTML которые используются.
То есть как пример на LS
<!-- header.tpl - START -->
тут html
<!-- header_top.tpl - START -->
тут html
<!-- header_top.tpl - END -->
тут html
<!-- header.tpl - END -->
ну и так далее.
А ЕСЛИ! ВДРУГ плагин заменяет шаблон ТО, пусть пишется название плагина.
Пример:
<!-- aceBlogExtend/comment.tpl - START -->
тут html
<!-- aceBlogExtend/comment.tpl - END -->
ТАК ЖЕ можно на счет Action сделать и пр.
пример:
<!-- ActionBlog/example.tpl - START -->
тут html
<!-- ActionBlog/example.tpl - END -->
ну вы меня поняли :)
PS это по мотивам не то что я вот такой лентяй :) я с удовольствием пользуюсь внутреним поиском phpShtorm, и от меня не один шаблон не скроется, но так посудить я бы с экономил ну пару часов на сложном шаблоне точно :)
Хорошо бы это встроить прям в движок, но если кто сделает такой плагин с радостью куплю.
15 комментариев
Я думаю, здесь все с радостью выслушают предложения удачнее делегирования шаблонов. велком)
несколько решений:
1. как я в статье писал выше, хуки отличное решение! почему некоторые разработчики плагинов его используют, а некоторые нет? Это какой то разный принцип разработки? или кто как хочет? или просто у них выхода нет?
Хуки это идеальное решение, которое можно позаимствовать у Joomla. Допустим использовать готовые хуки, или же из плагина как то задавать свои хуки, и их позиции. Ну или на крайний случай писать их в коде.
Ну а если нужно заменить какой то шаблон, например комментарии, то пусть будет прописано условие в шаблоне.
ну как то так… а еще все хуки можно хранить в каком нить xml файле как в Joomla хранить свои позиции модулей. Не знаю может это уже есть :) просто не допер.
2. еще решение :) так сказать для выбора, более сложный для понимание и плодит сущности, но все таки тоже более чистый чем есть сейчас.
Есть у нас используемый шаблон допустим называется new и тут мы подключаем плагин. Тогда весь шаблон копируется в new_mod там удаляется шаблон который заменяет плагин и вставляется шаблон уже из плагина.
вот тоже решение :) более чистое в плане шаблоне, но лично мне не нравится из-за дублирование сущностей.
3. ну последние оставить уж все как есть, но блин допилить модификацию которую я описал в топике :) как в движке! что просто будет УЖЕ как мана небесная!
2) совсем не понял применимость данного метода и чем он может отличаться от обычного наследования, которое не плодит, как вы и сами сказали сущности.
А вот первое решение на счет 1, может не все прелести хуков я понимаю или же хуки не такие серьезные. Но почему решение которое я предложил то есть хуки с условиями, почему не как вариант?
Сейчас хуки это так сказать места куда можно вывести свой плагин или еще что нить :) возможно…
Но как я понимаю в чем суть проблемы? и почему разработчики заменяют шаблоны темы на шаблоны плагин? Потому что им как но надо исключить стандартный функционал и встроить свой.
Поэтому если вы надеюсь поняли меня, то хуки заменяймые это хорошо. ДА СОГЛАСЕН что разработка шаблона может усложнится, НО можно же на примере дефолтного шаблона напихать хуков.
PS кажется я только сейчас понимаю почему в LS выбрали это решение :)
1. сложно напихать хуков столько сколько надо :) придется время когда нужно будет еще и еще
2. сложность разработки темы
3. и даже после 1 и 2 пункта не каких гарантий, что все будет работать как надо.
Выводы:
оставить все как есть и выбрать комментирование шаблонов.
PSPS извините за мою сумборность речи :) по другому не умею по русскому троечка у меня… Когда пишу на русском голова с рукой не дружит :) так сказать в плане орфографии, хотя вот в английском такова нет :( русский язык сложный, хотя и родной.
Что скажите на счет введения комментариев tpl, по моему предложение в сборку LS 0.5.2 :)
Как видите на уровне костыля например это внедряется оч просто :)
для себя уже давно использую костыль (для05x, на 04x не пробовал): файл \engine\lib\external\Smarty\libs\sysplugins\smarty_internal_templatecompilerbase.php
найти строку (примерно 58) после нее добавить и найти строки (примерно 86) и изменить на
на идеальность решения конечно не претендую, НО ОЧЕНЬ помогает при верстке.
ну и вынести все это настройкой в конфиг было бы идеальным решением