1

编辑创建了多篇具有相同标题的 tt_news 文章。如果您导航到新闻,您可以看到正确的摘录,但是当单击详细视图时,您会看到摘录中没有的文章。这是一篇较旧的文章,标题相同。网址看起来像这样

http://yourdomain.com/news/news-detail/duplicate-article-name.html

当前使用以下版本:

  • 酷URI 1.0.29
  • tt_news 3.0.1
  • TYPO3 4.5.10

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>

现在我按照手册把它改成了这个

  <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 可以找到最新文章。URL 没有改变。

我做错了什么?我什至用另一个浏览器尝试过。

4

2 回答 2

1

尝试使用 RealUrl,它比 CoolURI 更容易配置。

好的,我正在考虑这个问题并尝试将查询更改为:

SELECT CONCAT(tt1.title,IF(tt2.number>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
于 2012-10-24T07:07:04.500 回答
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可以。

于 2012-10-24T07:39:38.290 回答