Да что ж такое-то... Похоже меня услышал только
inpost, ито смылся, когда речь пошла "зачем городить самому то, что уже готово". Наследование шаблонов!
Вот мне даже интересно, как вы решите такую задачу:
<html>
<head>
<link...
<link...
<script...
{block name="morecss"}{/block}
{block name="title"}Главная страница сайта {$sitename}{/block}
</head>
<body>
<h1>This is a test!</h1>
{block name="pagecontent"}
Привет, рады вас видеть на нашем сайте. Вы находитесь на главн ой странице!
{/block}
</body>
</html>
{extends file="index.tpl"}
{block name="morecss"}
<link ...
<script ...
{/block}
{block name="title"}Каталог сайта {$sitename}{/block}
{block name="pagecontent"} {*Перегрузка блока*}
{foreach from=$articles item=article}
<a href="/catalog/show/{$article.article_id}">{$article.article_header}</a>
{/foreach}
{/block}
Как вы это будете делать на чистом PHP-то!? =)) Это ж какой гемор реализовать такой движок! А тут он есть уже готовый - пожалуйста! Причем компилируется в чистый PHP и утилизация CPU на его отображение очень похожа на native PHP. Да, на include сматри ("монстра") тратятся какие-то милисекунды. Но давайте говорить по совести: я думаю тут ни у кого нет таких нагруженных проектов, где это можно было бы хоть как-то ощутить. Компиляция да, занимает время, но сматри не будет перекомпилировать шаблоны, если в них нет изменений.
Естественно, наследование основная фишка современного шаблонизатора. Уберите ее и смысл использования упадет до нуля. С этим я полностью согласен и даже спорить не буду.
Игорь_Vasinsky, чего там изучать - цикл, условие и счетчик. Причем синтаксис я не скажу что вообще прям другой. Он немножко специфический, но в нем нет ничего такого...