[英]TYPO3 - How to show English and German news list on one page
我有一种多语言的语言(一棵树解决方案),其中包含德语(默认)和英语。 该新闻有德文和英文。 该网站还有新闻通讯页面。 新闻简讯(扩展新闻简讯)写在德语页面上。 现在,我想将最后3条新闻自动添加到此新闻通讯中。 我使用以下代码,效果很好:
lib.news = USER
lib.news {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
cropMaxCharacters = 300
limit = 3
detailPid = 50
overrideFlexformSettingsIfEmpty := addToList(detailPid)
startingpoint = 51
}
}
这为我提供了默认语言的新闻列表。 我如何也可以用第二种语言添加新闻的其他列表?
根据您的配置,可以想到两种解决方案:
每种语言使用不同的文件夹
如果您对新闻没有严格的翻译,则可以根据语言将新闻存储在不同的文件夹中。 然后可以通过选择不同的存储页面在插件中选择新闻的语言
使用帮助页面
您可以建立另一个仅显示新闻的页面(例如AJAX请求)。 在您的新闻通讯(页面)中,您两次包含此页面:一次带有?L=0
,一次带有?L=1
我看到的唯一解决方案是扩展新闻插件。 在那里您可以找到更多资源http://www.lukasjakob.com/extend-a-typo3-extbase-model-with-custom-field/
感谢Bernd和Andrei的建议。 现在,我找到了另一种解决方案,并通过纯错字插入了新闻。 这是对我有用的代码:
lib.newsblock = CONTENT
lib.newsblock.wrap = <div class="news"><h2">Letzte Artikel.</h2>|</div>
lib.newsblock {
table = tx_news_domain_model_news
select {
pidInList = {$global.news.pid}
# disable default language selection
languageField = 0
max = 3
where = deleted = 0 and hidden = 0 AND sys_language_uid = 0
orderBy = datetime DESC
}
renderObj = COA
renderObj {
10 = TEXT
10.field = title
10.wrap = <h2></h2>
# get news image
20 = FILES
20 {
references {
table = tx_news_domain_model_news
uid.field = uid
fieldName = fal_media
}
begin = 0
maxItems = 1
renderObj = IMAGE
renderObj.params = class="left" align="left"
renderObj {
wrap = <p>|</p>
file.import.data =file:current:publicUrl
file.width = 120c
file.height = 120c
}
}
30 = COA
30.wrap = <div>|</div>
30.10 = TEXT
30.10.field = teaser
30.10.wrap = <p>|</p>
30.20 = TEXT
30.20.value = > Weiterlesen
30.20.typolink {
parameter = {$global.news.single}
additionalParams.data = field:uid
additionalParams.wrap = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]=|
useCacheHash = 1
}
30.20.typolink.title.field = title
30.20.wrap = <p>|</p>
}
}
lib.news = COA
# default language German
lib.news.10 < lib.newsblock
# English
lib.news.20 < lib.newsblock
lib.news.20.wrap = <div class="news"><h2>Recent articles.</h2>|</div>
lib.news.20.select.where = deleted = 0 and hidden = 0 AND sys_language_uid = 1
lib.news.20.renderObj.30.20.value = > Read more
lib.news.20.renderObj.30.20.typolink.additionalParams.wrap = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]=|&L=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.