0

我正在使用tx_newsTYPO3 扩展程序开始我的“冒险”。我创建了新的列表模板,并在下拉列表中的 flexform 中看到它 - 没关系,但是如何仅使用 TypoScript 选择该模板?可能吗?

谢谢你的帮助。

4

3 回答 3

1

只需 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) 在您的新“新闻”模板中复制部分内容。就像将 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-->

就是这样)祝你好运

于 2015-04-20T09:34:38.047 回答
1

我想通了。这是解决方案 - 如果您的模板中有<f:if condition="{settings.templateLayout} == 99">TypoScript 中编号为 99 的 templateLayout(如 tx_news 教程中所示),您应该使用此代码来调用 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
      }
    }
  }
 }
} 
于 2014-10-03T07:26:52.110 回答
0

使用您的脚本时,我确实收到以下错误。

找不到键“TYPO3\CMS\Fluid\ViewHelpers\SwitchViewHelper->switchExpression”的值,因此无法删除该键。

我也检查了手册(http://docs.typo3.org/typo3cms/extensions/news/Main/Tutorial/IntegrationWithTs/Index.html),而且这个剪断似乎不能正常工作。

这可能会解决问题:https ://forge.typo3.org/issues/59255

于 2014-12-09T12:32:29.963 回答