2013-10-22 95 views
2

我的Joomla有3種語言,我在語言管理器中爲每種語言提交了sitename。 我用它來獲取網站名稱以不同的語言獲得Joomla sitename

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

但是這個代碼只給我站點名稱上一般配置提交。 如何獲得該語言的sitename? bcoz您正在使用多語言的Joomla網站

回答

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

試試這個,

在你的情況$sitename = $app->getCfg('sitename');將無法​​正常工作。

此選項僅用於從全局配置中獲取值。

你可以試試這個, 你有可用的每個多語言文件有一個正確的站點名稱考慮常數SITE_NAME="Your site name";

然後,你可以簡單地讓您的網站的名字像下面。

JText::_('SITE_NAME'); 

希望它有助於..

0

這是一箇舊帖子,但我想回復,因爲我將在下面概述的相同過程適用於Joomla 2.5以及Joomla 3.x.它不需要任何特殊的編輯或擴展。

這可以通過使用Joomla內置的「語言管理器」功能輕鬆完成。這些步驟還假設您已經擁有一個Multilingual 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)一旦你點擊網站名稱,你會看到一個選項「自定義網站名稱」。輸入該語言的自定義網站名稱,它將優先考慮,基本上覆蓋在全局配置中輸入的內容。

請注意,您只需輸入要更改的語言的自定義網站名稱即可。例如:如果您的網站的主要語言是英語,並且您的全球配置中列出了英文版的網站名稱,並且您還安裝了法語,西班牙語和德語,則只需輸入(如果需要)自定義網站名稱法語,西班牙語和德語。

別的東西要考慮的是,如果你需要的語言(S)添加自定義網站名稱,你更可能應該考慮增加自定義元數據的語種,如「元關鍵詞」和「元描述」。要完成此操作,請按照上面步驟5中的步驟進行操作。不要點擊站點名稱,而是點擊元數據並輸入特定語言的「元關鍵字」和「元描述」的自定義信息。 9)最後但並非最不重要,最重要的是,在完成語言定製之後,單擊「保存」或「保存&關閉」以保存所有更改。

如果站點處於脫機狀態,將顯示此新語言特定的自定義站點名稱。

另外,對於搜索引擎優化的目的,您可以在出現在選項卡中的菜單項名稱之前或之後顯示您的站點名稱。 該設置可以在全局配置選項中更改。 根據SEO設置尋找「在頁面標題中包含網站名稱」並選擇「之後」,之前或「否」。