![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
|
|
#1 |
|
TYPO3 Infected
|
наверно не правильно понимают разделение логики и представления.
Это обозначает, что логика - это чистый PHP + минимумуправлением вывода (например сохранение вывода в перменную $content или print), а так же передача данных в шаблонизатор. Т.е никакие части кода вы не генерите в PHP коде. А все остальное делает шаблонизатор. Например, при использовании маркеров и шаблонов так, как сейчас оно есть, вы "передаете" в файл шаблона какие-то части вывода. по сути вы просто делаете обыкновенный str_replace. А части - уже готовые HTML куски. При использовании шаблонизатора, вы только передаете данные в шаблон, именно передаете а не делаете замену, а в шаблоне вызываете те или иные дейсвия с ними. Например чтобы вывести картинку с помощью TS и TYPO3 я делаю вот что: В ПХП: PHP код:
В ШАБЛОНЕ: Код:
...
<div class="smallImage"> {typo3_img field=image width=150 height=150 item=$item}</div>
...
Имеем полное разделение Логики и представления. Это как бы свзяка между TS, который генерится в плагине typo3_img и PHP, который управляет всей логикой модуля. Вы когда-нибудь пытались изменить в tt_news полностью отображение новости не залезая в код? например вы добавили новое поле в таблицу новостей и вам надо его вывести, вам прийдется править код и шаблон. тут же вам прийдется править только шаблон. Или приятно вам копаться newloginbox, когда он был еще без шаблонов? Главное, чторазработчики поняли, что надо обязательно делать Templating API и улучшать разделение логики от представления. У меня со многими были споры на эту тему, никто меня не смог переубедить в этом всем. |
|
|
|
|
|
#2 |
|
Administrator
|
Спасибо! вопрос стал яснее.
К примеру в sr_feuser_register все реальзовано нормально: - добавляешь поле с помощью кикстартера - правишь HTML шаблон - получаешь вывод этого поля. В коде ничего править не надо. Что касается tt_news Допольнительные поля в tt_news вставляют многие эктеншены, и обеспечивают их вывод (помоему с помощью хуков). Что касается более "умного" чем TS шаблонизатора: помоему нет особых проблем в том, что бы обработать в PHP все маркеры заданного TS объекта и заменить их содержимым полей. А уж в TS коде вставлять новые поля типа вот так: PHP код:
Я понял, что идея в том, чтобы сделать более "умный" HTML шаблон. который будет проще, чем TS (хотя и меньше возможностей в нем будет). Может это и имеет смысл. Последний раз редактировалось Valery Romanchev; 19.08.2006 в 21:41 |
|
|
|
|
|
#3 |
|
TYPO3 Infected
|
это само собой, а фичи, то все останутся, это не проблема, возможностей будет даже больше. а вот самое гавлное - это то что Php код становится в несколько раз читабельнее и приятнее.
|
|
|
|