![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
![]() |
#1 | |
Administrator
|
![]() Цитата:
и нет особой проблемы в том, чтобы выносить весть HTML код в TS и во внешние HTML-шаблоны, которые через этот TS подцепляются. |
|
![]() |
![]() |
![]() |
#2 |
TYPO3 Infected
|
![]()
вот именно что надо полностью отделять Html от Php. и не в Ts выносить, а в отдельные файлы.
|
![]() |
![]() |
![]() |
#3 | |
Administrator
|
![]() Цитата:
Конечно можно их и в PHP писать, но тогда там внурти будет HTML-код, чего не хочется. Поэтому, ИМХО, TS - это нормальный и правильный способ. И ничто не мешает выносить отдельные куски в HTML файлы, которые содержат только ###SOME_MARKER### или используется subparts. Последний раз редактировалось Valery Romanchev; 19.08.2006 в 19:51 |
|
![]() |
![]() |
![]() |
#4 |
TYPO3 Infected
|
![]()
Я про extension developpment. А не про TS шаблоны для сайта.
|
![]() |
![]() |
![]() |
#5 | |
Administrator
|
![]() Цитата:
Одно и тоже используется и там и там см. http://wiki.typo3.org/index.php/Exte...HTML-Templates Последний раз редактировалось Valery Romanchev; 19.08.2006 в 20:01 |
|
![]() |
![]() |
![]() |
#6 |
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 и улучшать разделение логики от представления. У меня со многими были споры на эту тему, никто меня не смог переубедить в этом всем. |
![]() |
![]() |
![]() |
#7 |
Administrator
|
![]()
Спасибо! вопрос стал яснее.
К примеру в sr_feuser_register все реальзовано нормально: - добавляешь поле с помощью кикстартера - правишь HTML шаблон - получаешь вывод этого поля. В коде ничего править не надо. Что касается tt_news Допольнительные поля в tt_news вставляют многие эктеншены, и обеспечивают их вывод (помоему с помощью хуков). Что касается более "умного" чем TS шаблонизатора: помоему нет особых проблем в том, что бы обработать в PHP все маркеры заданного TS объекта и заменить их содержимым полей. А уж в TS коде вставлять новые поля типа вот так: PHP код:
Я понял, что идея в том, чтобы сделать более "умный" HTML шаблон. который будет проще, чем TS (хотя и меньше возможностей в нем будет). Может это и имеет смысл. Последний раз редактировалось Valery Romanchev; 19.08.2006 в 21:41 |
![]() |
![]() |