获取不同语言的Joomla sitename

获取不同语言的Joomla sitename,joomla,joomla2.5,joomla-extensions,Joomla,Joomla2.5,Joomla Extensions,我的Joomla有3种语言,我在language manager中提交每种语言的sitename。 我用这个来获取sitename $app=JFactory::getApplication(); $sitename=$app->getCfg('sitename') 但这段代码只提供了在常规配置中提交的sitename。 如何使用该语言获取sitename?试试这个 在您的情况下,$sitename=$app->getCfg('sitename')将不起作用 此选项仅用于从全局配置获取值 你可以

我的Joomla有3种语言,我在language manager中提交每种语言的sitename。 我用这个来获取sitename

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

但这段代码只提供了在常规配置中提交的sitename。 如何使用该语言获取sitename?

试试这个

在您的情况下,
$sitename=$app->getCfg('sitename')将不起作用

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

你可以试试这个, 你有多个可用的语言文件,每一个都有一个适当的站点名称,考虑常数是<代码> SITEYNAME=“你的站点名”;<代码>

然后你可以简单地得到你的站点名,如下所示

JText::_('SITE_NAME');
希望它能有所帮助。

另一种可能的解决方案(不那么优雅的是从存储sitename的数据库表#u____________________________


这是一篇老文章,但我想回复,因为我将在下面概述的相同过程适用于Joomla2.5和Joomla3.x。它不需要任何特殊的编辑或扩展

这可以通过在“语言管理器”中使用Joomla的内置功能轻松实现。这些步骤还假设您已经有了一个多语言Joomla站点并正在运行。如果您需要有关如何执行此操作的说明,请参阅此链接:

然后使用下面概述的步骤为您的站点提供每种语言的自定义站点名称。 上面的链接是针对Joomla2.5的,但是这里概述的相同步骤也可以应用于Joomla3.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设置下,查找“在页面标题中包含站点名称”,然后选择“之后”、“之前”或“否”

$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');
}