Kunena - 如何在浏览器页面中更改站点名称

时间:2014-02-25 17:54:59

标签: browser joomla2.5 title forum

您好我正在使用Kunena 3.0.4,我想在浏览器页面中更改我的论坛标题。

现在他们是

类别索引 - 论坛名称 - 网站名称 要么 主题名称 - 论坛名称 - 站点名称

我想制作它们

主题名称 - 网站名称

我可以在哪里更改? 提前谢谢

2 个答案:

答案 0 :(得分:1)

我试图调试这个完全相同的问题,我发现了你的帖子。幸运的是,我弄清楚如何通过一些头部刮擦,谷歌搜索和搜索Kunena源文件来做到这一点。所以这是一个答案,如果你还没有弄明白的话。

有两件事需要做:编辑setTitle()功能并编辑Kunena组件的语言文件。该功能可以在Kunena 3.0.5的以下文件夹中的view.php文件中找到(截至2014年5月21日的最新版本):

YOUR_ROOT_DIR/public_html/libraries/kunena/view.php

然后,根据您的心脏内容编辑功能setTitle()。玩它来给你你想要的外观和感觉。这是默认函数:

public function setTitle($title) {
    if (!$this->state->get('embedded')) {
        // Check for empty title and add site name if param is set
        $title = strip_tags($title);
        if ($this->app->getCfg('sitename_pagetitles', 0) == 1) {
            $title = JText::sprintf('JPAGETITLE', $this->app->getCfg('sitename'), $this->config->board_title .' - '. $title);
        } elseif ($this->app->getCfg('sitename_pagetitles', 0) == 2) {
            $title = JText::sprintf('JPAGETITLE', $title .' - '. $this->config->board_title, $this->app->getCfg('sitename'));
        } else {
            // TODO: allow translations/overrides (also above)
            $title = KunenaFactory::getConfig()->board_title .' :: '. $title;
        }
        $this->document->setTitle($title);
    }
}

现在,需要编辑的行位于if-elseif-else子句中。注意通过连接添加的' - '。对我来说,我必须编辑elseif部分。除了'JPAGETITLE'之外,sprintf函数需要两个参数。这里的第一个参数是$title .' - '. $this->config->board_title,它是标题变量加上Kunena中设置的论坛标题。第二个参数是$this->app->getCfg('sitename'),这是您的站点名称。在参数1和2之间会有额外的爆炸。所以如果我们有以下情况:

$title = 'Random Page';
$this->config->board_title = 'Kunena Forums';
$this->app->getCfg('sitename') = 'Joomla Site';

您将根据以下代码获得输出:

Random Page - Kunena Forums - Joomla Site

我已将此功能修改为:

public function setTitle($title) {
    if (!$this->state->get('embedded')) {
        // Check for empty title and add site name if param is set
        $title = strip_tags($title);
        if ($this->app->getCfg('sitename_pagetitles', 0) == 1) {
            $title = JText::sprintf('JPAGETITLE', $this->app->getCfg('sitename'), $this->config->board_title, $title);
        } elseif ($this->app->getCfg('sitename_pagetitles', 0) == 2) {
            $title = JText::sprintf('JPAGETITLE',  $title, $this->config->board_title);//, $this->app->getCfg('sitename'));
        } else {
            // TODO: allow translations/overrides (also above)
            $title = KunenaFactory::getConfig()->board_title .' :: '. $title;
        }
        $this->document->setTitle($title);
    }
}

所以,同样的例子会给我:

Random Page - Kunena Forums

此外,您可以更改在论坛的“索引”页面上显示的默认文本,即“类别索引”更好的内容。为此,您需要在以下位置编辑语言文件:

YOUR_ROOT_DIR/public_html/components/com_kunena/language/en-GB/en-GB.com_kunena.views.ini

在这里,查找标签:

COM_KUNENA_VIEW_CATEGORY_DEFAULT="Topics in %s"    
COM_KUNENA_VIEW_TOPICS_DEFAULT="Topic: %s"    
COM_KUNENA_VIEW_CATEGORIES_DEFAULT="Category Index"

将文字更改为更好的内容。例如,我完全删除了“主题:”和“主题”,并将“类别索引”替换为“论坛主页”。所以,现在在我的论坛主页上,我看到了

Forums Home - My Website Forums

根据自己的喜好编辑语言文件中的其他字符串,并使用setTitle功能。

在您的情况下,由于您要删除论坛名称,请删除sprintf中的$this->config->board_title部分。

答案 1 :(得分:0)

在Joomla中,您可以使用文档类设置页面标题。

$document = JFactory::getDocument();
$document->setTitle("This is my page title");

了解有关How to set meta details of Joomla page

的更多信息

希望它的帮助..