Как выбрать шаблон списка tx_news с помощью TypoScript

Я начинаю свое "приключение" с расширением tx_news TYPO3. Я создал новый шаблон списка и вижу его в гибкой форме в раскрывающемся списке - это нормально, но как выбрать этот шаблон, используя только TypoScript? Является ли это возможным?

Спасибо за любую помощь.


person Adrian    schedule 02.10.2014    source источник


Ответы (3)


Я понял. Вот решение - если в вашем шаблоне есть templateLayout с номером 99 (как в учебнике tx_news) <f:if condition="{settings.templateLayout} == 99"> в TypoScript, вы должны использовать этот код для вызова макета 99:

lib.some_news < lib.news
lib.some_news = USER
lib.some_news {
userFunc = tx_extbase_core_bootstrap->run
extensionName = News
pluginName = Pi1

switchableControllerActions.News.1 = list

settings < plugin.tx_news.settings
settings {
  categories = 7
  templateLayout = 99 # your layout number
  limit = 1
  detailPid = 22
  overrideFlexformSettingsIfEmpty := addToList(detailPid)
  startingpoint = 20
  list {
    media {
      image {
        maxWidth = 588
        maxHeight = 428
        width = 588c
        height = 428c
      }
    }
  }
 }
} 
person Adrian    schedule 03.10.2014

Всего 3 шага.

1) Скопируйте tepmlate из папки EXT в шаблон веб-сайта и добавьте опечатку

plugin.tx_news {
    view {
        # Additional template paths
        templateRootPaths.110 = youPath/Templates/
        # Additional partial paths
        partialRootPaths.110 = youPath/Partials/
        # Different template for pagination
        widget.Tx_News_ViewHelpers_Widget_PaginateViewHelper.templateRootPath = youPath/Templates/
    }
}

2) Скопируйте Partials в новый шаблон "новостей". Например, скопируйте Partial / List в Partials / Latest (например) 3) Теперь вы должны написать правило для шаблона "youPath / Templates / List.html" или / и того же для Detail.html (если необходимо)

<!-- Strat template -->
<f:section name="content">

    <f:if condition="{settings.templateLayout}"> <!-- if we heve Layout than include our new partitial -->

        <f:then>

            <f:render partial="{settings.templateLayout}/List" arguments="{news: news, settings:settings}"/>

        </f:then>

        <f:else>
<!-- ... default Template-->

Вот и все) удачи

person Oleg V Karun    schedule 20.04.2015

Я получаю следующую ошибку при использовании вашего скрипта.

Не найдено значения для ключа "TYPO3 \ CMS \ Fluid \ ViewHelpers \ SwitchViewHelper-> switchExpression", поэтому ключ нельзя удалить.

Я также проверил руководство (http://docs.typo3.org/typo3cms/extensions/news/Main/Tutorial/IntegrationWithTs/Index.html), а также этот фрагмент, похоже, не работает должным образом.

Возможно, это поможет решить проблему: https://forge.typo3.org/issues/59255

person Manuel Thaler    schedule 09.12.2014
comment
чтобы ответить на ваш вопрос, мне нужно увидеть связанный с вами шаблон жидкости. В любом случае это не имеет ничего общего с приведенным выше скриптом, поэтому, если вам нужна помощь с жидким кодом, вероятно, лучше всего задать новый вопрос (если он еще не существует) - person Tobias Gaertner; 23.05.2016