Неправильная статья при нажатии на новостную статью с таким же названием

Редактор создал несколько статей tt_news с одинаковым названием. Если вы перейдете к новостям, вы увидите правильный отрывок, но при нажатии на подробный вид вы получите статью, которой нет в отрывке. It is an older article with the same title. The URL looks like this

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

The following versions are currently used:

  • CoolURI 1.0.29
  • tt_news 3.0.1
  • TYPO3 4.5.10

CoolUriConf.xml_default has the following content

<uriparts>
    <part>
      <parameter>tx_ttnews[tt_news]</parameter>
      <lookindb>
        <to>SELECT title FROM tt_news WHERE uid=$1</to>
        <t3conv>1</t3conv>
      </lookindb>
    </part>

Now I changed it according to the manual to this

  <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>

I cleared all caches (including CoolURI cache) but now the latest article can be found if clicking on the URL. The URL hasen't changed.

Что я делаю не так? I even tried it with another browser.

2 ответа

Решение

Я наконец нашел ошибку. Это был не тот файл, который я отредактировал. Я редактировал typo3conf/ext/cooluri/cooluri/CoolUriConf.xml_default,

Вы найдете правильный путь, если вы идете в Extension Manager и нажмите на CoolURI, E сть 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 может делает.

Попробуйте использовать RealUrl гораздо проще, чем CoolURI для настройки.

Хорошо, я думаю об этом и пытаюсь изменить запрос на:

SELECT CONCAT (tt1.title, IF (tt2.number> 1, CONCAT ('-', tt2.number), '')) FROM tt_news как tt1, (SELECT ROW_NUMBER() OVER (ORDER BY uid) КАК номер FROM tt_news ГДЕ title = (ВЫБЕРИТЕ title ОТ tt_news WHERE uid=$1)) AS tt2 ГДЕ 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
Другие вопросы по тегам