在TYPO3 <9中,可以使用类似这样的查询参数来设置打字稿中的条件:
//设置新闻扩展插件参数“ news”的条件,例如网址:// www.mysite.com?tx_news_pi1 [news] = 8
[globalVar = GP:tx_news_pi1|news > 0]
...
[global]
使用realurl,您可以将URL重写为漂亮的URL,并且上述条件仍然有效。
现在,在TYPO3 9中,我不再使用realurl重写URL,而是使用本机重写模块。
该条件不再起作用。
同样使用新的新交响乐查询语言条件在这里不起作用:
[request.getQueryParams()['tx_news_pi1']['news'] > 0]
...
[global]
我调试了请求条件代码,没有查询参数。但是它们到达了新闻控制器。
问题是:如何使用本地URL重写设置上述条件以响应TYPO3 9中的扩展查询参数?
可以使用此条件重写旧的TYPOscript条件,但您的示例也应正常工作:
[traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0]
...
[END]
请参见changelog。
根据新闻URL的不同配置,您可以在网站YAML文件中设置limitToPages
参数,因为不再有ext:realurl
:
示例:
routeEnhancers:
NewsPluginOne:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [20]
routes:
...
NewsPluginTwo:
type: Extbase
extension: News
plugin: Pi1
limitToPages: [21]
routes:
...
使用以上配置,您可以在详细信息页面上为id = 20和id = 21的新闻URL设置不同的设置。