我在同一页面上有一个tx_news的列表视图和详细视图插件。当我进入没有新闻id参数的页面时,我想显示最新的新闻记录。有办法做到这一点吗?
我发现这里的一个功能请求被拒绝了:https://forge.typo3.org/issues/67012
解决方案包含在文档中。直到我自己弄清楚了大部分内容,并正在寻找我需要的特定方法(useStdWrap),我才在那里找到它。这是:
https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/IntegrationWithTypoScript/Index.html#fallback-如果没有新闻找到
# TS SETUP:
plugin.tx_news.settings {
overrideFlexformSettingsIfEmpty = singleNews,cropMaxCharacters,dateField,timeRestriction,orderBy,orderDirection,backPid,listPid,startingpoint
useStdWrap = singleNews
singleNews.stdWrap.cObject = CONTENT
singleNews.stdWrap.cObject {
table = tx_news_domain_model_news
select {
max = 1
orderBy = datetime
# ENTER PID OF YOUR NEWS RECORDS HERE
pidInList = 3
}
renderObj = TEXT
renderObj.field = uid
}
}
此代码不包括按类别筛选的可能性,它覆盖中的任何现有配置列表overrideFlexformSettingsOfEmpty和useStdWrap。
如果你需要分类过滤和/或想在两个配置列表上减少破坏性,这里有一个扩展的例子:
# TS SETUP:
plugin.tx_news.settings {
overrideFlexformSettingsIfEmpty := addToList(singleNews)
useStdWrap := addToList(singleNews)
singleNews.stdWrap.cObject = CONTENT
singleNews.stdWrap.cObject {
table = tx_news_domain_model_news
select {
max = 1
orderBy = datetime
# ENTER PID OF YOUR NEWS RECORDS HERE
pidInList = 3
join = sys_category_record_mm ON (tx_news_domain_model_news.uid = sys_category_record_mm.uid_foreign)
# ENTER UID OF YOUR CATEGORY HERE (look it up in table sys_category)
where = sys_category_record_mm.uid_local = 2
}
renderObj = TEXT
renderObj.field = uid
}
}