Pull to refresh

Comments 17

Эх… Всё равно парсить два раза… и релиз явно не на 3 кБайта…
конечно отсутствие include это самый большой минус — нет смысла копипастить шапки|подвалы|заголовки… А так соглашусь идея очень интересная
Идея очень даже интересная! А отсутствие include очень легко можно исправить используя нативный метод. При этом шаблон останется рабочим, и его можно показывать заказчику.
для этого используются макросы
можно определить макрос в одном файле, а вызвать в другом
Круто! Спасибо за пост! Я как раз подумывал уйти от нативных шаблонов, но остальные шаблонизаторы не слишком упрощали жизнь — шило на мыло…
phptal очень продвинутый, стройный и лаконичный, при всем этом еще и очень быстрый, сам был немного в шоке после первого применения, но после того как разобрался — подсел капитально, никакого копипаста в нем нет в принципе как нет и инклудов — есть макросы как написали выше и слоты, с помощью этого реализуется наследование:

home.html
<?xml version="1.0" encoding="utf-8" ?>

<tal:block metal:use-macro="layout/layout" >
   <tal:block metal:fill-slot="content" tal:condition="not:account">
       <!--  основной блок для анонимусов -->
   </tal:block>
   <tal:block metal:fill-slot="content" tal:condition="account">
       <!--  основной блок для юзеров -->
   </tal:block>
</tal:block>


layout.html
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html metal:define-macro="layout" xmlns="http://www.w3.org/1999/xhtml">

  <head >
....
  </head>
  <body>
      <tal:block metal:define-slot="body">
            <div>
            </div>
            <tal:block metal:define-slot="content" />
      </tal:block>
   </body>
</html>


использую давно, есть пару моих фиксов в исходниках — однозначно рекомендую всем, рад что наконеч на хабре про него написали.
попробуйте написать статью, в которой описать эти вещи поподробнее.
а также напишите, чего Вам не хватает в шаблонизаторе,
мне, к примеру, не хватает плагинов.
увы, я не могу писать статьи-выдержки из манов, не получается достойно, а в шаблонизаторе мне всего хватает, то чего не хватало — кастомных тайлов реализовал как написано в мане phptal.org/manual/en/split/custom-modifiers.html
Немного не в тему. Я мало писал на php (и это было очень давно), поэтому для меня было сюрпризом, что есть такой синтаксис:

if($condition):
// blah-blah
endif

Его специально ввели, чтобы в шаблонах не путаться с закрывающими скобками? =)
мне понравился подход — задавать команды атрибутами.
вот решил статью об этом написать.
а если углубляться в подробности — там масса проблем и спорных вещей появляется.
и хочется, чтобы дискуссия была — как улучшить все эти вещи.
никто же не мешает самому написать такой шаблонизатор.
все лучше, чем смарти клоны плодить.
как у него с производительностью то дела обстоят?
Sign up to leave a comment.

Articles