наверно не правильно понимают разделение логики и представления.
Это обозначает, что логика - это чистый PHP + минимумуправлением вывода (например сохранение вывода в перменную $content или print), а так же передача данных в шаблонизатор. Т.е никакие части кода вы не генерите в PHP коде. А все остальное делает шаблонизатор. Например, при использовании маркеров и шаблонов так, как сейчас оно есть, вы "передаете" в файл шаблона какие-то части вывода. по сути вы просто делаете обыкновенный str_replace. А части - уже готовые HTML куски.
При использовании шаблонизатора, вы только передаете данные в шаблон, именно передаете а не делаете замену, а в шаблоне вызываете те или иные дейсвия с ними. Например чтобы вывести картинку с помощью TS и TYPO3 я делаю вот что:
В ПХП:
PHP код:
...
function drawPreviewData(){
$this->tpl->assign ('item',$this->shopData->loadProduct());
$this->content = $this->tpl->display ('product_preview.tpl');
}
...
В ШАБЛОНЕ:
Код:
...
<div class="smallImage"> {typo3_img field=image width=150 height=150 item=$item}</div>
...
Имеем полное разделение Логики и представления. Это как бы свзяка между TS, который генерится в плагине typo3_img и PHP, который управляет всей логикой модуля.
Вы когда-нибудь пытались изменить в tt_news полностью отображение новости не залезая в код?
например вы добавили новое поле в таблицу новостей и вам надо его вывести, вам прийдется править код и шаблон. тут же вам прийдется править только шаблон.
Или приятно вам копаться newloginbox, когда он был еще без шаблонов?
Главное, чторазработчики поняли, что надо обязательно делать Templating API и улучшать разделение логики от представления. У меня со многими были споры на эту тему, никто меня не смог переубедить в этом всем.