Не грязный вообще, вот реальный пример:
page.10 = FLUIDTEMPLATE
page.10 {
file.stdWrap.cObject = CASE
file.stdWrap.cObject {
key.data = pagelayout
default = TEXT
default.value = {$customPagesTemplatePath}/Standard.html
1 = TEXT
1.value = {$customPagesTemplatePath}/Home.html
2 = TEXT
2.value = {$customPagesTemplatePath}/Landing.html
10 = TEXT
10.value = {$customPagesTemplatePath}/NewsDetail.html
11 = TEXT
11.value = {$customPagesTemplatePath}/LandingMini.html
12 = TEXT
12.value = {$customPagesTemplatePath}/FullWidth.html
}
layoutRootPath = {$customPagesLayoutPath}
partialRootPath = {$customPagesPartialPath}
}
Подумайте об этом так:
Как вы говорите, забыть о макете внешнего интерфейса. Это наследие; макет служит для BE и FE.
Если бы страница была городом, colPos была бы улицей. Вернее, представьте, что Backend - это карта, которую вы рисуете, а frontend - LEGO City, который вы строите по этой карте :-)) Если все в порядке, я придерживаюсь этой метафоры.
ColPos - это определенная часть страницы, где живет запись. Если можно, посмотрите таблицу tt_content в базе данных: вы увидите, что colPos - это всего лишь столбец с номером. Таким образом, в городе «Страница 1» есть улица под названием «colPos 7», и в ней есть некоторые записи (это будут дома). С помощью мастера be_layout в TYPO3 вы создадите административную карту этого города: как редактор должен видеть эти улицы.
В FLUIDTEMPLATE
вы вызываете в зависимости от выбранного be_layout, вы создадите сам город; визуализированный интерфейс.
Вот еще один реальный пример мира для такой жидкости шаблон (home.html):
<f:render partial="Mobilenav" />
<f:render partial="Header"/>
<div class="row">
<f:cObject typoscriptObjectPath="lib.home-teaser" />
</div>
<aside>
<div class="row">
<div class="columns">
<div class="row">
<div class="fp-teaser-outer small-48 medium-24 large-12 columns">
<div class="fp-teaser-box-wrapper">
<f:cObject typoscriptObjectPath="lib.home-something" />
</div>
</div>
<div class="fp-teaser-outer small-48 medium-24 large-12 columns">
<div class="fp-teaser-box-wrapper">
<f:cObject typoscriptObjectPath="lib.home-somethingelse" />
</div>
</div>
<div class="fp-teaser-outer small-48 medium-24 large-12 columns">
<div class="fp-teaser-box-wrapper">
<div class="fp-teaser-box">
<f:cObject typoscriptObjectPath="lib.home-news-plugin-title" />
<div class="fp-teaser-hr"></div>
<div class="fp-teaser-content">
<f:cObject typoscriptObjectPath="lib.home-news" />
</div>
</div>
</div>
</div>
<div class="fp-teaser-outer small-48 medium-24 large-12 columns">
<div class="fp-teaser-box-wrapper">
<div class="fp-teaser-box">
<f:cObject typoscriptObjectPath="lib.home-blog-plugin-title" />
<div class="fp-teaser-hr"></div>
<div class="fp-teaser-content">
<f:cObject typoscriptObjectPath="lib.home-blog" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</aside>
<f:render partial="Footer"/>
... хорошо, но где корреляция с colPos? Еще! I (в то же время уверен, что существуют и другие подходы) сделать это в TypoScript:
lib.home-something < styles.content.get
lib.home-something {
select.where = colPos = 7
}
Так этим мы готовим контент для шаблона жидкости: получить все содержимое столбца этой страницы 7 (с помощью дополнительного fluid_styled_content) и положить это в объект содержимого «lib».
Вот затем вставляется в страницу с помощью f:cObject
ViewHelper:
<f:cObject typoscriptObjectPath="lib.home-something" />
Подобно этому, все дома в 7-й улице ставятся в город именно в этом месте - и, таким образом, оказывается на вашей странице.
Ваш вопрос не совсем ясен. Вы используете backend_layout. Каждый backend_layout может иметь собственную презентацию в FE. Почему макет FE определяет, как выглядит BE? Я имею в виду, как правило, это наоборот. Вы выбираете макет BE, он определяет столбцы, и для этого вы готовите представление FE. И в Fluid есть «Макеты», чтобы использовать для этого, чтобы затем вы могли выбирать разные части из шаблона. –
@ AndrásOttó Хорошо, хорошо, если мы забудем о части макета frontend, как мне установить разные colPos в зависимости от того, какой макет будет выбран? – user500665
@ AndrásOttó Кроме того, что вы будете делать, если у вас есть два разных шаблона, которые используют один и тот же бэкэнд-макет? – user500665