【问题标题】:How do you add page numbers to Page & Browser Titles in Joomla?如何在 Joomla 中将页码添加到页面和浏览器标题?
【发布时间】:2016-10-29 16:58:50
【问题描述】:

Joomla 似乎没有内置默认的分页支持...我敢肯定这是不对的。这意味着对于 SEO 定制来说非常广泛。

但我的问题是,页面底部的分页给出了诸如 /itemlist?start=4 之类的 URL - 其中 4 是列表开始的项目编号。

这里的问题是,所有页面都有相同的浏览器标题。如何在不使用插件的情况下在浏览器标题末尾附加“Page #”?

更新:

我偶然发现了这个 API 页面 https://api.joomla.org/cms-3/classes/JPagination.html,这似乎引用了以下内容,我将尝试使用它,看看我是否能以某种方式将结果放入标题标签。

getPagesCounter

创建并返回分页计数器字符串,即。第 2 页 4.

getPagesCounter() : string

更新:

我不知道如何将此字符串输出到页面上,我尝试使用echo getPagesCounter(),但它返回 null。非常感谢任何帮助或信息。如何在模板覆盖中使用此功能?

【问题讨论】:

    标签: joomla pagination


    【解决方案1】:

    您可以在内容插件中执行此操作,方法是检查 GET 变量,然后使用类似以下的内容:

    $app = JFactory::getApplication();
    $this->setTitle( $this->getTitle() . ' - ' . 'Page N');
    

    其中 N 是您可以从 $_GET 获得的当前页面的编号。

    【讨论】:

    • 我想去掉 URL 参数,那是不是意味着我无法从 $_GET 中得到任何东西?此外,我的 URL 中没有显示页码,当我查看第 5 页时,URL 显示为 /itemlist?start=16
    【解决方案2】:

    您可以使用$this->pagination->pagesCurrent获取当前页面#。

    然后你可以使用

    $document = JFactory::getDocument();
    $document->setTitle( $document->getTitle() . ' - Page ' . $this->pagination->pagesCurrent); 
    

    components > com_content > views > category > tmpl > blog.php 中将页码添加到标题中。

    您当然应该将blog.php 复制到您的模板文件夹以创建覆盖而不是编辑核心Joomla 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2014-01-06
      • 2011-09-20
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 2019-06-24
      相关资源
      最近更新 更多