我正在使用tx_news
TYPO3 扩展程序开始我的“冒险”。我创建了新的列表模板,并在下拉列表中的 flexform 中看到它 - 没关系,但是如何仅使用 TypoScript 选择该模板?可能吗?
谢谢你的帮助。
我正在使用tx_news
TYPO3 扩展程序开始我的“冒险”。我创建了新的列表模板,并在下拉列表中的 flexform 中看到它 - 没关系,但是如何仅使用 TypoScript 选择该模板?可能吗?
谢谢你的帮助。
只需 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-->
就是这样)祝你好运
我想通了。这是解决方案 - 如果您的模板中有<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
}
}
}
}
}
使用您的脚本时,我确实收到以下错误。
找不到键“TYPO3\CMS\Fluid\ViewHelpers\SwitchViewHelper->switchExpression”的值,因此无法删除该键。
我也检查了手册(http://docs.typo3.org/typo3cms/extensions/news/Main/Tutorial/IntegrationWithTs/Index.html),而且这个剪断似乎不能正常工作。