Forums / National / Russian / Идеи / Развитие шаблонизатора (XTemplate 2.8.1)

Dr2005alex
#43728 2018-10-02 18:14

И пришла идея начать доработку текущего XTemplate.

И так, если коротко, выкладываю для тестов обновленный в некоторых местах XTemplate

Что изменилось:

  • PHP 7 не выдает ошибку  Using $this when not in object context (на 2.8.0  версии это есть)
  • Есть возможность передавать в вызов функции более одного динамического аргумента.

Для нового функционала и поддержки старого, пришлось ввести новый вид тега.

{CALL | функция | динамические аргументы через запятую | дополниельные функции}

Пример

{CALL|cot_url('page','id=$0%&alias=$1%')|PAGE_ID,PAGE_ALIAS|htmlspecialchars}

Как из примера видно, я отказался от метки $this.(но старый вариан с $this я оставил и он тоже работает через {PHP.MYTAG|function($this)})

В данном примере создается ссылка, где параметр $0% будет заменен на значение тега PAGE_ID, а $1% на значение тега PAGE_ALIAS. Далее, результат выполнения функции передается в дополнительную функцию htmlspecialchars

В динамических аргументах могут быть Теги и Глобальные переменные.

Пример

{CALL|cot_url('page','id=$0%&c=$1%')|PHP.pag.page_id,PHP.pag.page_cat}

$0% или $1% это порядковый номер динамического аргумента начиная с нуля. 

  • $0% - заменится значением PHP.pag.page_id
  • $1% - заменится значением PHP.pag.page_cat

Для тестов, просто разархивируйте файл. И замените текущий файл шаблонизатора cotemplate.php на файл из архива.

Удачных тестов! И может еще идеи у кого будут... милости просим делиться.

Файл: cotemplate_2.8.1.rar

 

WebKaa.ru - Cotonti Relax
This post was edited by Dr2005alex (2018-10-06 21:40, 5 years ago)