0

典型的新闻电话如下所示:

http://myurl/?tx_news_pi1%5Bnews%5D=4916&tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Baction%5D=detail&cHash=ef6e70673f8c8be5eddd03ad8bb8e220

我想更改前端的 uid,但是当我没有正确的哈希时它不起作用。是否可以仅通过 uid 调用 newsitem 或者是否可以在前端创建哈希?喜欢

http://myurl/?tx_news_pi1%5Bnews%5D=9999&tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Baction%5D=detail

而 9999 将被我的 uid 替换?

4

1 回答 1

1

是的,cHash(Cache Hash)与TYPO3中的缓存机制有关。在保持缓存机制正常工作的同时摆脱它的唯一方法是使用 RealURL。RealURL 在内部处理 cHash,因此不会显示它。

新闻的默认 RealURL 配置可以在这里找到。

这将生成一个链接,例如标题的小写和无空格版本在http://mydomain.tld/news/detail/news-title哪里。news-title如果您希望新闻记录的 UID 作为标识符,您可以通过替换来更改配置

'alias_field' => 'title',

经过

'alias_field' => 'uid',

然后清除缓存,您的 UID 将按照配置生成。

您还可以使用 MySQL 函数组合 title 和 uid,例如:

'alias_field' => 'CONCAT(SUBSTRING(title, 1, 249), \'-\', uid)',

这将使用标题中的字符 1-249,添加破折号,然后添加 UID。

于 2014-11-27T20:46:16.270 回答