【问题标题】:Joomla remove one of the two feedsJoomla 删除两个提要之一
【发布时间】:2015-02-17 06:46:52
【问题描述】:

我的 joomla 版本是 2.5,不确定 Joomla 3 是否也会发生这种情况。

我在有“类别博客”的页面中生成了这两行 HTML:

<link href="/blog?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0">
<link href="/blog?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0">

现在,可以通过转到菜单 > 菜单项名称 > 高级参数 > 显示 Feed 链接 - 编号来禁用这些行。

但是,没有选项可以只禁用其中一个(最好是 Atom)。这就是我要找的!我找到了许多解释如何禁用它们的教程。

关于如何仅禁用两者之一的任何想法?

【问题讨论】:

    标签: joomla rss joomla2.5 atom-feed


    【解决方案1】:

    如果你只想删除它们(Atom feed),那么它包括两种情况:

    1) 将其从

    下的核心库文件中删除

    test_joomla/libraries/joomla/document/feed/renderer/atom.php

    此文件在标题中包含提要行,但这不是首选文件,因为如果您将来更新版本,则需要重新更改核心文件。

    2) 要从模板文件中删除 jhead,这是一条主线,其中包括标头中的 mootools js 、 css 和提要。一旦删除了这些,则需要手动将它们包含在模板文件中,但这很忙一个。

    希望这篇文章对您有所帮助。

    【讨论】:

    • 当你说“来自模板的jhead”时,你的意思是这一行: ?如果是,那在哪里?是一个文件还是一组文件?
    • 我找到了,它在这里:/libraries/joomla/document/html/renderer/head.php
    【解决方案2】:

    您可以从模板的 index.php 中删除这些提要:

    $this->_links = array(); // To remove both feeds
    array_splice($this->_links, 0, 1); // To remove only RSS Feed
    array_splice($this->_links, 1); // To remove only Atom Feed
    

    【讨论】:

      【解决方案3】:

      To Remove Both or any one here is the article by which you can disable or enable feed and atom in Joomla.

      参考网址:http://www.host1plus.com/tutorials/cms-tutorials/joomla/other-joomla/how-to-turn-off-rss-atom-feeds-in-joomla-2-5/

      您也可以使用相同的方式在 Joomla 3 中禁用/启用。

      希望这会对您有所帮助。

      【讨论】:

      • 您不能以这种方式只删除其中一个。这就是我之前提到的:菜单 > 菜单项名称 > 高级参数 > 显示提要链接 - 不,这是禁用它们的方法。
      【解决方案4】:

      好的,感谢Amruth Rao,我是这样做的:

      在这个文件的第 105 行附近:

      /libraries/joomla/document/html/renderer/head.php
      

      更改自:

      foreach ($document->_links as $link => $linkAtrr)
              {
                  $buffer .= $tab . '<link href="' . $link . '" ' . $linkAtrr['relType'] . '="' . $linkAtrr['relation'] . '"';
                  if ($temp = JArrayHelper::toString($linkAtrr['attribs']))
                  {
                      $buffer .= ' ' . $temp;
                  }
                  $buffer .= ' />' . $lnEnd;
              }
      

      到:

      $buffer .= '<link href="/blog?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0">';
      $buffer .= '<link href="/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">';
      

      或者如果你想保留 atom 代替:

      $buffer .= '<link href="/blog?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0">';
      $buffer .= '<link href="/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">';
      

      但请注意,我尝试安装的 Joomla 安装是高度定制的,因此您可能需要在 $buffer 变量中包含更多声明。

      不幸的是,每次更新 Joomla 时您都必须进行这些更改,但这是我发现的最简单的方法。

      【讨论】:

        猜你喜欢
        • 2013-09-27
        • 2012-12-06
        • 2020-07-08
        • 2016-11-05
        • 1970-01-01
        • 2013-09-10
        • 2013-06-29
        • 1970-01-01
        • 2015-05-31
        相关资源
        最近更新 更多