编辑创建了多篇具有相同标题的tt_news文章。如果您导航到新闻,您可以看到正确的摘录,但是当点击详细信息视图时,您会收到摘录中未显示的文章。这是一篇标题相同的旧文章。 URL看起来像这样
http://yourdomain.com/news/news-detail/duplicate-article-name.html
目前使用以下版本:
CoolUriConf.xml_default
具有以下内容
<uriparts>
<part>
<parameter>tx_ttnews[tt_news]</parameter>
<lookindb>
<to>SELECT title FROM tt_news WHERE uid=$1</to>
<t3conv>1</t3conv>
</lookindb>
</part>
现在我根据manual改为此
<uriparts>
<part>
<parameter>tx_ttnews[tt_news]</parameter>
<lookindb>
<to>SELECT CONCAT(tt1.title,IF(tt2.number>1,CONCAT('-',tt2.number),'')) FROM tt_news as tt1, (SELECT COUNT(*) AS number FROM tt_news WHERE title=(SELECT title FROM tt_news WHERE uid=$1)) AS tt2 WHERE tt1.uid=$1</to>
<t3conv>1</t3conv>
</lookindb>
</part>
我清除了所有缓存(包括CoolURI缓存),但现在可以找到最新的文章,如果点击URL。网址没有改变。
我做错了什么?我甚至用另一个浏览器尝试过它。
答案 0 :(得分:1)
尝试使用RealUrl比配置CoolURI容易得多。
好的,我正在考虑这个并尝试将查询更改为:
SELECT CONCAT(tt1.title,IF(tt2.number&gt; 1,CONCAT(' - ',tt2.number),''))FROM tt_news as tt1,(SELECT ROW_NUMBER()OVER(ORDER BY uid)AS number FROM tt_news WHERE title =(SELECT title FROM tt_news WHERE uid = $ 1))AS tt2 WHERE tt1.uid = $ 1
之后你应该有这样的链接:
http://yourdomain.com/news/news-detail/duplicate-article-name-1.html
http://yourdomain.com/news/news-detail/duplicate-article-name-2.html
http://yourdomain.com/news/news-detail/duplicate-article-name-3.html
答案 1 :(得分:0)
我终于找到了错误。这是我编辑的错误文件。我编辑了typo3conf/ext/cooluri/cooluri/CoolUriConf.xml_default
。
如果您进入Extension Manager
并点击CoolURI
,就会找到正确的路径。有一个XML path
变量,其中包含真实CoolUriConf.xml
的路径。就我而言,它是fileadmin
。现在,最新文章的名称如下:
http://yourdomain.com/news/news-detail/duplicate-article-name.html
较旧的人有此名称
http://yourdomain.com/news/news-detail/duplicate-article-name-2.html
等等。有更好的解决方案,但CoolURI
可以做的所有。