[英]Generate speaking url for tx_news using typoscript in TYPO3 9.5.8
我将TYPO3 v 9.5.8与tx_news
(7.2.0)一起使用。
我真的很喜欢新的TYPO3实现的语音网址生成。
我已经将其配置为生成口语URL,并且也对其进行配置以为tx_news
生成口语URL,两者都工作正常。 但我也想在页脚中显示最后三个新闻条目。
我的解决方案是在拼写设置中生成它们,并将其传递给流体模板。 我当前的印刷代码如下:
news = CONTENT
news {
table = tx_news_domain_model_news
select {
pidInList = 24
max = 3
orderBy = datetime DESC
}
renderObj = COA
renderObj {
1 = TEXT
1.field = datetime
1.strftime = %d. %B %Y
1.wrap = <p>|</p>
2 = TEXT
2 {
field = title
typolink {
parameter = 26
parameter.override.field = internalurl
useCacheHash = 0
additionalParams.wrap = &tx_news_pi1[news]=|
additionalParams.field = uid
}
}
}
renderObj.wrap = <div class="header-news-item">|</div>
}
至少这有效。 但自从我使用additionalParams.wrap
追加的新闻条目的ID,生成的URL看起来是这样的:
<a href="/allgemeines/news/artikel?tx_news_pi1[news]=2&cHash=8b0067dc86ab1392bb84cbf58878e72d">Lorem ipsum dolor sit</a>
我想网址看起来像这样:
<a href="/allgemeines/news/artikel/lorem-ipsum-dolor-sit">Lorem ipsum dolor sit</a>
这与为重定向到详细信息视图而生成的tx_news
列表视图相同。
有人知道这怎么可能吗?
我想您在生成TypoScript时缺少动作和控制器。
在Georg Ringer 的提示下 ,我开始工作了。
这是从TypoScript开始的工作示例:
news = CONTENT
news {
table = tx_news_domain_model_news
select {
pidInList = 24 // Page ID of the page that contains the news entries.
max = 3
orderBy = datetime DESC
}
renderObj = COA
renderObj {
1 = TEXT
1.field = datetime
1.strftime = %d. %B %Y
1.wrap = <p>|</p>
2 = TEXT
2 {
field = title
typolink {
parameter = 26 // Page ID of the page that displays the detail view.
parameter.override.field = internalurl
useCacheHash = 0
additionalParams.wrap = &tx_news_pi1[action]=detail&tx_news_pi1[controller]=News&tx_news_pi1[news]=|
additionalParams.field = uid
}
}
}
renderObj.wrap = <div class="header-news-item">|</div>
}
为了使其正常工作,您当然也必须为tx_news
启用口语URL。 从TYPO3 9 LTS开始,您可以通过将其添加到站点yaml配置文件中来执行此操作:
routeEnhancers:
News:
type: Extbase
extension: News
plugin: Pi1
routes:
- routePath: '/{news-title}'
_controller: 'News::detail'
_arguments:
news-title: news
aspects:
news-title:
type: PersistedAliasMapper
tableName: tx_news_domain_model_news
routeFieldName: path_segment
这在这里描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.