Typo3 7.4: измените новый tt_content.layout

Я создал новый tt_content.layout:

TCEFORM.tt_content.layout.addItems.10 = Layout10

Теперь, как я могу изменить, как выглядит этот макет? Я хочу, чтобы изображение текстового элемента было показано первым, есть ли способ добиться этого? Как?

Любые советы будут оценены. Спасибо.

0

Решение

Если вы используете liquid_styled_content:

Определите путь переопределения вашего шаблона в ваших константах.

Вот как я это делаю:

# overrides for fluid_styled_content
# will become lib.fluidContent.templateRootPaths.10
styles.templates.templateRootPath = {$templatePath}/Resources/Private/FSC/Templates
styles.templates.layoutRootPath = {$templatePath}/Resources/Private/FSC/Layouts
styles.templates.partialRootPath = {$templatePath}/Resources/Private/FSC/Partials

Это говорит fsc искать шаблоны в этой папке. Если он найдет их там, он предпочтет их оригиналам.

В этом примере это может быть typo3conf/ext/template/Resources/Private/Content/FSC/Templates/Textmedia.html

Там вы можете использовать условие для переключения рендеринга макета

  <f:comment>Default Layout</f:comment>
<f:if condition="{data.layout} == 0">
<div class="ce-textpic ce-{gallery.position.horizontal} ce-{gallery.position.vertical}{f:if(condition: gallery.position.noWrap, then: ' ce-nowrap')}">
<f:if condition="{gallery.position.vertical} != 'below'">
<f:render partial="MediaGallery" arguments="{_all}" />
</f:if>

<div class="ce-bodytext">
<f:if condition="{gallery.position.noWrap}">
<f:render partial="Header" arguments="{_all}" />
</f:if>
<f:format.html>{data.bodytext}</f:format.html>
</div>

<f:if condition="{gallery.position.vertical} == 'below'">
<f:render partial="MediaGallery" arguments="{_all}" />
</f:if>
</div>
</f:if>
<f:comment>Custom Layout</f:comment>
<f:if condition="{data.layout} == 10">
<div class="myclass"><f:format.html>{data.bodytext</f:format.html></div>
</f:if>

Чтобы увидеть, какие данные доступны, попробуйте

<f:debug>{data}</f:debug>

Вы также можете копать глубже, иногда при бурении появляется больше контента:

<f:debug>{data.someProperty.heresmorestuff}</f:debug>
1

Другие решения

Вы только добавили новую опцию в массив макетов, но не определили новый макет.

Опцию можно использовать как «случай».
Если вы используете css_styled_content, взгляните на опечатку setup.txt этого расширения в typo3 / sysext / css_styled_content.

Если вы используете liquid_styled_content, посмотрите на это расширение. Параметр макета будет иметь значение «10», поэтому вы можете использовать жидкость и условие If, чтобы определить свой макет там.

0

По вопросам рекламы [email protected]