Куски кода в шаблоне
Uch |
|
---|---|
Я делал плагин, который реализует чанки с поддержкой языковой локализации. Идея очень простая. Делаем чанк элементом глобального массива $cfg и используем в TPL обычным способом {PHP.cfg.имя_чанка.язык_чанка}. Так же этот же чанк может использоваться в тексте страницы {{PHP.cfg.имя_чанка.язык_чанка}}. |
Dr2005alex |
|
---|---|
Это хорошо.. такой вариант самый простой, но не является правильным. так-как если будет много чанков и если их содержимое будет не мало -> то много лишнего мусора будет грузится при каждом создании страницы. Всем кому интересна идея чанков... уже можно ее потестить. https://github.com/macik/cot-chunks. Код проверяет рекурсию чанков.. так-же можно передавать параметры в чанк.. В дальнейшем будет реализация работы черз базу данных и их редактирование.. дополнительным плагином. это пока не релиз а beta версия... пишите если что-то обнаружится.. WebKaa.ru - Cotonti Relax
|
Yusupov |
|
---|---|
Тестирую чанки. Пока не работает, возможно не так делаю. 1) Установил плагин и заменил файл шаблонизатора. 2) В теме сайта создал шаблон chunks.hello.tpl с таким содержимым: Здравствуйте, <b>{$name}</b>! В шаблоне объявил чанк таким образом: {CHUNK:HELLO name=Bob}
|
|
Dit bericht is bewerkt door Yusupov (2014-09-10 18:06, 10 jaren ago) |
Dr2005alex |
|
---|---|
1) так как чанки это плагин, то и файлы тпл чанков должны быть в папке для плагина. themes/ваша _тема/plugins/chunks/ файл должен быть такой chunks.имя_чанка.tpl или chunks.имя_чанка.подимя.tpl пример : chunks.header.tpl или chunks.header.menu.tpl Вызов чанка {CHUNK:имя_чанка} для примера выше это будет {CHUNK:HEADER} или {CHUNK:HEADE.MENU} 2) вызов с параметрами: По месту положения параметра. вызов чанка в основом шабллоне {CHUNK:name param1,param2} получение параметров в файле чанка: {$0} - param1 и {$1} - param2 По имени параметра вызов чанка в основом шабллоне {CHUNK:name param1=123,param2="Hello"} получение параметров в файле чанка: {$param1} - param1 и {$param2} - param2 Использование PHP функций и переменных в параметрах. {CHUNK:name PHP.usr.name} в чанке параметр {$0} будет иметь имя пользователя. {CHUNK:name PHP|cot_func()} в чанке параметр {$0} будет иметь результат выполнения функции cot_func() {CHUNK:name PHP.var|cot_func($this)} в чанке параметр {$0} будет иметь результат выполнения функции cot_func($var) т.е. с передачей параметра var в функцию. Пока версия тестовая, и возможно все поменяется.. WebKaa.ru - Cotonti Relax
|
|
Dit bericht is bewerkt door Dr2005alex (2014-09-10 19:51, 10 jaren ago) |
Macik |
|
---|---|
Обновил репозиторий — были ошибки в коде (бессонный ночи дают о себе знать), из за которых, параметры брались не из той переменной. Проверьте. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Yusupov |
|
---|---|
#39880 Macik: Спасибо, работает! Воистину очень удобно получилось! |
Dr2005alex |
|
---|---|
Так для этого все и делается))) WebKaa.ru - Cotonti Relax
|
esclkm |
|
---|---|
может я не дошел... но примеров использования я не нашел.. плагин установил littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
Dr2005alex |
|
---|---|
Может тебе они просто не нужны))) Я думаю плюсы этого будут видны позднее... WebKaa.ru - Cotonti Relax
|
Uch |
|
---|---|
А в тексте страницы, который мы формируем в текстовом редакторе, можно будет использовать эти чанки? |
Macik |
|
---|---|
#39913 Uch: Нет, у механизма чанков другие задачи. А самое главное другой механизм. Чанки это составляющая механизма шаблонов. Они «привязаны» к шаблону и парсятся и кешируются вместе с ним. Чанки это механизм гибкого расширения шаблонов. А какие требования ты предъявляешь к механизму тегов, которые можно было бы использовать в тексте страниц?
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Uch |
|
---|---|
Те же самые, что и к чанкам :) |
Macik |
|
---|---|
#39916 Uch: Тогда спрошу по другому — для каких целей? Это не праздный вопрос — для реализации той или иной «хотелки» надо понимать «для чего», а для правильной реализации «хотелки» понимат еще и «как». https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Uch |
|
---|---|
Например, вставлять одинаковые текстовые блоки в тексты страниц на мультиязычном сайте. |
esclkm |
|
---|---|
в том, что я тестил - не работает tpl_debug littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |