Forums / National / Russian / Идеи / Chunks

<<<123456>>>

Куски кода в шаблоне

Uch
#61 2014-09-08 21:48

Я делал плагин, который реализует чанки с поддержкой языковой локализации. Идея очень простая. Делаем чанк элементом глобального массива $cfg и используем в TPL обычным способом {PHP.cfg.имя_чанка.язык_чанка}. Так же этот же чанк может использоваться в тексте страницы {{PHP.cfg.имя_чанка.язык_чанка}}.

Dr2005alex
#62 2014-09-09 05:24

Это хорошо.. такой вариант самый простой, но не является правильным. так-как если будет много чанков и если их содержимое будет не мало -> то много лишнего мусора будет грузится при каждом создании страницы.

Всем кому интересна идея чанков... уже можно ее потестить. https://github.com/macik/cot-chunks.

Код проверяет рекурсию чанков.. так-же можно передавать параметры в чанк..  В дальнейшем будет реализация работы черз базу данных и их редактирование.. дополнительным плагином.

это пока не релиз а beta версия... пишите если что-то обнаружится..

WebKaa.ru - Cotonti Relax
Yusupov
#63 2014-09-10 17:27

Тестирую чанки. Пока не работает, возможно не так делаю.

1) Установил плагин и заменил файл шаблонизатора.

2) В теме сайта создал шаблон chunks.hello.tpl с таким содержимым: 

Здравствуйте, <b>{$name}</b>!

В шаблоне объявил чанк таким образом: 

{CHUNK:HELLO name=Bob}

 

This post was edited by Yusupov (2014-09-10 18:06, 9 years ago)
Dr2005alex
#64 2014-09-10 17:42

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, 9 years ago)
Macik
#65 2014-09-10 22:10

Обновил репозиторий — были ошибки в коде (бессонный ночи дают о себе знать), из за которых, параметры брались не из той переменной. Проверьте.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Yusupov
#66 2014-09-11 06:02
#39880 Macik:

Обновил репозиторий — были ошибки в коде (бессонный ночи дают о себе знать), из за которых, параметры брались не из той переменной. Проверьте.

Спасибо, работает! Воистину очень удобно получилось!

Dr2005alex
#67 2014-09-11 06:44

Спасибо, работает! Воистину очень удобно получилось!

Так для этого все и делается))) 

WebKaa.ru - Cotonti Relax
esclkm
#68 2014-09-11 08:30

может я не дошел... но примеров использования я не нашел.. плагин установил

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Dr2005alex
#69 2014-09-11 15:41

Может тебе они просто не нужны))) Я думаю плюсы этого будут видны позднее...

WebKaa.ru - Cotonti Relax
Uch
#70 2014-09-12 17:24

А в тексте страницы, который мы формируем в текстовом редакторе, можно будет использовать эти чанки?

Macik
#71 2014-09-12 22:10
#39913 Uch:

А в тексте страницы, который мы формируем в текстовом редакторе, можно будет использовать эти чанки?

Нет, у механизма чанков другие задачи. А самое главное другой механизм. Чанки это составляющая механизма шаблонов. Они «привязаны» к шаблону и парсятся и кешируются вместе с ним. Чанки это механизм гибкого расширения шаблонов.

А какие требования ты предъявляешь к механизму тегов, которые можно было бы использовать в тексте страниц?


 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Uch
#72 2014-09-12 22:44

Те же самые, что и к чанкам :)

Macik
#73 2014-09-13 16:20
#39916 Uch:

Те же самые, что и к чанкам :)

Тогда спрошу по другому — для каких целей?
Приведи пример реального использования — опиши целиком: что за сайт, кто размещает материал, как будет использован этот механизм. 

Это не праздный вопрос — для реализации той или иной «хотелки» надо понимать «для чего», а для правильной реализации «хотелки» понимат еще и «как».

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Uch
#74 2014-09-13 16:49

Например, вставлять одинаковые текстовые блоки в тексты страниц на мультиязычном сайте.
 

esclkm
#75 2014-09-17 10:56

в том, что я тестил - не работает tpl_debug

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты

<<<123456>>>