Я работаю с шаблонами TYPO3 6.1 и Fluid, используя набор инструментов fedext.net. Я хочу иметь заголовок с автоматически сгенерированным контентом, например меню, а также некоторым контентом, определяемым администратором, например авторскими правами. Имеет смысл определить это в каком-нибудь общем месте бэкэнда TYPO3.
В настоящее время у меня есть такой макет страницы:
{namespace v=Tx_Vhs_ViewHelpers}
<f:layout name="Page"/>
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
xmlns:f="http://fedext.net/ns/fluid/ViewHelpers">
<div class="grid-container">
<f:cObject typoscriptObjectPath="lib.my_custom_header" />
<f:render section="Content"/>
<f:cObject typoscriptObjectPath="lib.my_custom_footer" />
</div>
</div>
А в Typoscript я делаю следующее, чтобы захватить и отобразить содержимое заголовка:
lib.my_custom_header = COA
lib.my_custom_header {
10 = CONTENT
10 {
table = tt_content
select.where = colPos = 0
select.languageField = sys_language_uid
select.orderBy = sorting
select.pidInList = {$config.my_site.header_page_id}
}
20 = CONTENT
20 {
table = tt_content
select.where = colPos = 1
select.languageField = sys_language_uid
select.orderBy = sorting
select.pidInList = {$config.my_site.header_page_id}
}
}
вот мой гибкий шаблон FooterPage
{namespace v=Tx_Vhs_ViewHelpers}
{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Page"/>
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
xmlns:f="http://fedext.net/ns/fluid/ViewHelpers">
<f:section name="Configuration">
<flux:flexform id="mypageheader" label="Page Header">
<!-- Grid displayed in the page module -->
<flux:flexform.grid>
<flux:flexform.grid.row>
<flux:flexform.grid.column colPos="0" name="Header Logo" />
<flux:flexform.grid.column colPos="1" name="Header Links" />
</flux:flexform.grid.row>
</flux:flexform.grid>
</flux:flexform>
</f:section>
<f:section name="Resources"></f:section>
<f:section name="Content">
<div class="grid-100 mobile-grid-100 grid-parent header">
<v:page.content.render column="0"/>
<v:page.content.render column="1"/>
</div>
</f:section>
</div>
Код нижнего колонтитула почти такой же (кроме имен переменных). Этот подход работает, верхний и нижний колонтитулы идут со своих страниц, но мне это кажется немного некрасивым. Поскольку я могу отображать элементы содержимого только из нижнего колонтитула, а не всей страницы. Поэтому я не могу указать какую-то настраиваемую оболочку для моих данных верхнего / нижнего колонтитула.
В качестве альтернативы я могу определить эту оболочку внутри TypoScript, но это будет распространять код шаблона заголовка по коду typoscript. Я также могу определить его в файле макета страницы (см. Выше), но в этом случае он все равно будет отделен от остального кода шаблона заголовка (который я хочу разместить внутри шаблона страницы с изменяемым заголовком / нижним колонтитулом).
Итак, как это сделать наилучшим образом?
P.S. В этом примере проекта http://bootstrap.typo3cms.demo.typo3.org/ нижний колонтитул настроен для перехода из какого-то общего элемента бэкэнда, но я не могу открыть этот элемент в бэкэнде TYPO3, TYPO3 показывает пустой экран, когда я пытаюсь его открыть. То же самое происходит в моей локальной копии этого проекта.
20 < .10
- person Fedir RYKHTIK   schedule 07.11.2013colPos
разницу? - person Anton Boritskiy   schedule 07.11.2013