2013-01-13 30 views
1

我有一個要毀滅我心中的一個問題...我不是一個PHP開發人員,所以我無法找到任何辦法解決呢?K2額外的字段翻譯的問題

我使用K2(對於CCK(具有很多自定義模板)以及在Joomla 1.5.26安裝中部署的Joomfish(2.1.7),從2.5.7更新了v 2.6.2)。

我用下面的代碼(在我的模板),以便通過名字來獲取我個人K2額外的字段(K2 2.5.7):

$extraFld = array(); 
if ($this->item->extra_fields) { 
    foreach ($this->item->extra_fields as $key=>$extraField) { 
    $extraFld[ $extraField->name ] = $extraField->value; 
    } 
} 

後來才知​​道是取這樣的:

echo "<li class=\"dinning-cuisine\"><span>" . JText::_('Cuisine') . "</span><br />" . $extraFld['Cuisine'] . "</li>\n"; 

但自從2.6.2版本有直接獲取額外的字段名& VAL選項:

$這個 - >項目 - extraFields-> ALIASNAME->名稱 $ this-> item-extraFields-> ALIASNAME-> value

如K2中所述2.6.2什麼是新文檔。

的問題如下:

我在希臘(默認)雙語種網站和英語語言環境。

我在默認的語言環境創建一個額外的字段「Πεδίο1」別名「字段1」

如果我試着翻譯它,我唯一的選擇是把它的名字可以說,「額外字段1」 (比它的別名不同)...

然後在我的自定義模板,如果我嘗試獲取它喜歡:

$this->item->extraFields->field1->value 

只有希臘語言環境的作品。在英文語言環境中,我收到一個NULL值!

任何相關的經驗和解決方案?

回答

0

後很很多的測試,我認爲,在一個多語種的網站,檢索利用其別名不起作用個人額外的字段值。至少不是Joomla 1.5 ...

應該是工作的代碼是:

$這個 - >項目 - extraFields-> ALIASNAME->值

我有一個網站用默認語言「希臘」和第二語言的英語「 。

我有一個額外的字段,用希臘語'Πεδίο1'與Alias'field1'命名。

我已經翻譯成英文這個額外的字段(使用Joomfish)爲「字段1」 ......

如果我嘗試使用獲取它的值:

$這個 - >項目 - extraFields-> field1-> value

該代碼僅適用於默認語言「希臘語」,但不適用於英語。

0

試着這樣做:

字符串:

JText::_('CUISINE') //should always be Capital letters 

翻譯(語言文件):

CUISINE=Cuisine 

我不知道哪個文件使用的是翻譯該字符串,但是看到您將此代碼添加到您的模板index.php,添加translatio ñ字符串EN-GB.tpl_tamplatename.ini

+0

問題不在於標籤(JTEXT :: _('Cuisine')),而是帶有額外的字段值...標籤沒問題! – thanili

+0

我認爲這是一個k2框架的錯誤...在文檔中提出的使用其別名的個別k2額外字段值gy的方法在多語言站點中不起作用。 – thanili