【问题标题】:news: remove path "article" or "article detail"新闻:删除路径“文章”或“文章详细信息”
【发布时间】:2017-09-20 08:46:18
【问题描述】:

我使用 TYPO3 8.7 和扩展“新闻”版本 6.1。 我想缩短新闻文章详细路径。 我已经使用了这个(高级示例):

https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/Realurl/Index.html

现在我有: article/title-of-the-news/

如何摆脱“文章”路径? “article”是新闻详情插件所在页面的标题。

【问题讨论】:

  • 起初我以为你可以通过页面设置中的“排除表单发言网址”复选框来隐藏页面。但我认为您实际上不能进一步缩短该 URL - 那是行不通的,因为 realurl 将尝试显示主页。

标签: typo3 tx-news typo3-8.x


【解决方案1】:

realurl 中有钩子“encodeSpURL_postProc”和“decodeSpURL_preProc”。有了它们,您可以覆盖和删除您的网址中的部分内容。

我猜你使用“fixedPostVars”?

【讨论】:

  • 是的,我使用 fixedPostVars 我发现了这个例子:t3g.at/sprechenede-urls-eigene-extension-typo3
  • 用这个:$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array('encodeSpURL_postProc' => array('user_encodeSpURL_postProc'), 'decodeSpURL_preProc' => array( 'user_decodeSpURL_preProc'), );我设法将路径“artikel”替换为“jobs”。但我没有设法删除它。
  • 这里是我上面评论的正确代码: function user_decodeSpURL_preProc(&$params, &$ref) { $params['URL'] = str_replace('job/', 'artikel/', $params['URL']); } function user_encodeSpURL_postProc(&$params, &$ref) { $params['URL'] = str_replace('artikel/', 'job/', $params['URL']); } $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array('encodeSpURL_postProc' => array('user_encodeSpURL_postProc'), 'decodeSpURL_preProc' => array('user_decodeSpURL_preProc'), );
【解决方案2】:

使用新闻列表所在的页面,也可以作为新闻详细信息的页面。新闻列表将被新闻详细信息覆盖。

我认为没有其他解决方案,您不能有一个页面“文章”用于新闻详情,但 url 中没有部分“文章”:TYPO3 必须知道它应该在哪个页面上显示新闻详情。

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 2020-12-11
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多