2

我的 Joomla 有 3 种语言,我在语言管理器中为每种语言提交站点名称。我用它来获取站点名称

$app = JFactory::getApplication(); $sitename = $app->getCfg('sitename');

但是这段代码只给了我在常规配置上提交的站点名称。如何获得该语言的站点名称?

4

3 回答 3

0

尝试这个,

在您的情况下$sitename = $app->getCfg('sitename');将无法使用,因为您使用的是多语言 Joomla 站点。

此选项仅用于从全局配置中获取值。

你可以试试这个,你有多个可用的语言文件,每个文件都有一个正确的站点名称,考虑常量是SITE_NAME="Your site name";

然后,您可以简单地获取您的站点名称,如下所示。

JText::_('SITE_NAME');

希望它有帮助..

于 2013-10-22T09:11:52.290 回答
0

另一种可能的解决方案(不太优雅的是从存储站点名称的数据库表#__languages 中获取它):

$lang = JFactory::getLanguage();
$db   = JFactory::getDBO();

$query = 'SELECT sitename FROM #__languages WHERE lang_code = "' . $lang->getTag() . '"';
$db->setQuery($query);

$sitename = $db->loadResult();
// If no sitename defined - show default sitename
if (!$sitename){
    $app = JFactory::getApplication();
    $sitename = $app->getCfg('sitename');
}
于 2013-10-22T09:21:04.510 回答
0

这是一篇旧帖子,但我想回复一下,因为我将在下面概述的相同过程适用于 Joomla 2.5 和 Joomla 3.x。它不需要任何特殊的编辑或扩展。

这可以通过使用 Joomla 在“语言管理器”中的内置功能轻松完成。这些步骤还假设您已经启动并运行了多语言 Joomla 站点。如果您需要有关如何执行此操作的说明,可以参考此链接:
https ://www.scribd.com/doc/82768844/Joomla-2-5-multi-language-website-without-using-3rd-extensions- in-10-steps
然后使用下面概述的步骤为您的站点提供每种语言的自定义站点名称。上面的链接适用于 Joomla 2.5,但那里列出的相同步骤可以应用于 Joomla 3.x 站点。

1) 登录网站的管理员部分

2)点击“扩展”

3)从扩展下拉菜单中选择“语言管理器”

4) 一旦进入语言管理器,您将看到已安装的语言和这些选项:
已安装 - 已安装站点
- 管理员
内容
覆盖

注意:
在 Joomla 2.5 中,它们将列在已安装语言上方的一行中。
在 Joomla 3.x 中,它们将列在已安装语言左侧的列中。

5) 现在点击“内容”

6) 现在可以点击“标题”行下的每种语言的名称。单击要为其设置“自定义站点名称”的语言名称。

7) 单击语言名称后,查找“站点名称”。在 Joomla 2.5 中,这将位于右侧。在 Joomla 3.x 中,这将在选项上方的一行中。

8) 单击站点名称后,您将看到一个显示“自定义站点名称”的选项。输入该语言的自定义站点名称,它将优先考虑,基本上覆盖在全局配置中输入的内容。

另请注意,您只需为要更改的语言输入自定义站点名称。示例:如果您的站点的主要语言是英语,并且您在全局配置中列出了站点名称的英文版本,并且还安装了法语、西班牙语和德语,那么您只需输入自定义站点名称(如果需要)用于法语、西班牙语和德语。

其他需要考虑的事情是,如果您需要为语言添加自定义站点名称,您很可能应该考虑为语言添加自定义元数据,例如“元关键字”和“元描述”。要完成此操作,请按照上面概述的步骤直到第 5 步。您将单击元数据并为“元关键字”和“元描述”输入特定于语言的自定义信息,而不是单击站点名称。

9)最后但并非最不重要,最重要的是,在您完成语言自定义后,单击“保存”或“保存并关闭”以保存所有更改。

如果站点处于脱机状态,将显示此新的特定于语言的自定义站点名称。

此外,出于 SEO 目的,您可以在选项卡中显示的菜单项名称之前或之后显示您的站点名称。可以在全局配置选项中更改该设置。在 SEO 设置下查找“在页面标题中包含站点名称”,然后选择“之后”、“之前”或“否”。

于 2015-01-25T13:14:23.383 回答