2016-05-13 6 views
2

У меня большое изображение тизера в верхней части страницы. Автор может выбрать в бэкэнд, должно ли тизерное изображение быть статичным или анимированным слайд-шоу. Я использую bootstrap для слайд-шоу кстати.TYPO3: Автоматическая упаковка CASE by page.layout

Выбор появляется страница> Edit> Внешний вид
TSconfig корневой страницы:

TCEFORM.pages { 
    layout.altLabels.1 = Default (with Slideshow) 
    layout.altLabels.0 = Default 
} 

Теперь это становится немного сложнее.
Чтобы запустить слайдер Bootstrap, вам необходимо иметь внешнюю оболочку и каждый обернутый слайд. Это то, что я получил до сих пор:

page.10.variables { 
    teaser < styles.content.get 
    teaser.select.where = colPos = 0 
    teaser.stdWrap.required = 1 
    teaser.stdWrap.wrap { 
     cObject = CASE 
     cObject { 
      key.field = layout 

      default = TEXT 
      default.value = | 

      1 = TEXT 
      1.value = <div id="teaser" ...>|</div> ### shortened 
     } 
    } 

    teaser.renderObj.stdWrap.wrap { 
     cObject = CASE 
     cObject { 
      key.field = layout 

      default = TEXT 
      default.value = | 

      1 = TEXT 
      1.value = <div class="item">|</div> 
     } 
    } 
} 

Первые teaser.stdWrap.wrap работает как шарм. Выбор макета Frontend соответствующим образом завершает тизер.
Но teaser.renderObj.stdWrap.wrap не хочет работать. В основном, потому что я думаю, что ключ CASE не является макетом Frontend, а макетом элемента контента. Как это изменить?

Второй вопрос. Это, как обручи в настоящее время выглядят (или как они будут выглядеть, если TS выше будет работать как задумано):

<div class="item"> 
    <div id="c14"> 
     <div class="ce-textpic ce-right ce-intext"> 
      <div class="ce-gallery" data-ce-columns="1" data-ce-images="1"> 
       <div class="ce-row"> 
        <div class="ce-column"> 
         <div class="ce-media"> 
          <img src="img.jpg" width="1150" height="632" alt=""> 
         </div> 
        </div> 
       </div> 
      </div> 
     <div class="ce-bodytext"></div> 
    </div> 
</div> 

Есть ли способ, чтобы сделать его более или менее, как это?

<div class="item"> 
    <img class="slide" src="img.jpg"> 
</div> 

Клиент не желает иметь какие-либо подписи или текст, чтобы его можно было игнорировать.

Я бегу TYPO3 7.6.6 с fluid_styled_content.

ответ

3

Таким образом, ответ на 1-й вопрос:

Вы можете использовать тип данных «GetText» в TypoScript. См. Документ doc here.

Он имеет предопределенную переменную для текущей записи страницы. Так просто изменить атрибут второго ключа так:

key.data = page:layout 

Но если вы работаете в систему с fluid_styled_content, то вы можете просто использовать жидкость, чтобы решить эту проблему. (Там вы можете получить доступ к макету с data.layout)

Чтобы ответить на второй вопрос:

Да. Возможно, вам нужно взглянуть на расширение fluid_styled_content. Там вы найдете много о шаблонах, макетах и ​​элементах. Вы можете просто переопределить их своими шаблонами, и вы можете избавиться от любого ненужного div внутри.

Для этого я могу порекомендовать вам немецкий video.

+0

Какое совпадение - я немецкий;) Видео очень помогло. Я просто добавил состояние жидкости, чтобы обернуть вещи по-другому, когда макет FE отличается. Большое спасибо! – Norman

 Смежные вопросы

  • Нет связанных вопросов^_^