首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kunena -如何在浏览器页面中更改站点名称

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

Stack Overflow用户
提问于 2014-02-25 17:54:58
回答 2查看 1.1K关注 0票数 1

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

现在他们是

类别索引-论坛名称-网站名称或主题名称-论坛名称-网站名称

我想让他们

主题名称-网站名称

我可以在哪里换这个?提前谢谢你

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-22 00:04:03

我试着调试这个完全相同的问题,我找到了你的帖子。幸运的是,我找到了如何通过抓挠头、搜索和搜索Kunena源文件来做到这一点。所以,这里有一个答案,以防你还没有弄明白。

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

代码语言:javascript
复制
YOUR_ROOT_DIR/public_html/libraries/kunena/view.php

然后,编辑函数setTitle()以满足您的需要。玩它,给你的外观和感觉,你想要的。下面是默认函数:

代码语言:javascript
复制
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之间还会有额外的炒作。所以,如果我们有以下情况:

代码语言:javascript
复制
$title = 'Random Page';
$this->config->board_title = 'Kunena Forums';
$this->app->getCfg('sitename') = 'Joomla Site';

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

代码语言:javascript
复制
Random Page - Kunena Forums - Joomla Site

相反,我修改了这个函数,以便:

代码语言:javascript
复制
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);
    }
}

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

代码语言:javascript
复制
Random Page - Kunena Forums

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

代码语言:javascript
复制
YOUR_ROOT_DIR/public_html/components/com_kunena/language/en-GB/en-GB.com_kunena.views.ini

在这里,寻找标签:

代码语言:javascript
复制
COM_KUNENA_VIEW_CATEGORY_DEFAULT="Topics in %s"    
COM_KUNENA_VIEW_TOPICS_DEFAULT="Topic: %s"    
COM_KUNENA_VIEW_CATEGORIES_DEFAULT="Category Index"

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

代码语言:javascript
复制
Forums Home - My Website Forums

根据您的喜好编辑语言文件中的其他字符串,并使用setTitle函数。

在您的示例中,当您想要删除论坛名称时,请删除sprintf中的$this->config->board_title部件。

票数 1
EN

Stack Overflow用户

发布于 2014-02-26 07:07:08

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

代码语言:javascript
复制
$document = JFactory::getDocument();
$document->setTitle("This is my page title");

有关如何设置Joomla页面的元细节的更多阅读

希望它有帮助..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22022268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档