你好,我正在使用Kunena 3.0.4,我想在浏览器页面中更改我的论坛标题。
现在他们是
类别索引-论坛名称-网站名称或主题名称-论坛名称-网站名称
我想让他们
主题名称-网站名称
我可以在哪里换这个?提前谢谢你
发布于 2014-05-22 00:04:03
我试着调试这个完全相同的问题,我找到了你的帖子。幸运的是,我找到了如何通过抓挠头、搜索和搜索Kunena源文件来做到这一点。所以,这里有一个答案,以防你还没有弄明白。
需要做两件事:编辑setTitle()函数和编辑Kunena组件的语言文件。该函数可在Kunena 3.0.5 (截至2014年5月21日的最新版本)以下文件夹中的view.php文件中找到:
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部件。
发布于 2014-02-26 07:07:08
在Joomla中,可以使用document类设置页面标题。
$document = JFactory::getDocument();
$document->setTitle("This is my page title");有关如何设置Joomla页面的元细节的更多阅读
希望它有帮助..。
https://stackoverflow.com/questions/22022268
复制相似问题