Куски кода в шаблоне
| 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}
This post was edited by Yusupov (2014-09-10 18:06, 11 years 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
This post was edited by Dr2005alex (2014-09-10 19:51, 11 years 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 - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |