k2额外字段翻译问题

时间:2013-01-13 23:52:36

标签: php joomla joomla1.5 joomla-extensions joomla-k2

我有一个问题会破坏我的想法...我不是PHP开发人员所以我找不到任何方法来解决它......

我正在使用K2(v2.6.2从2.5.7更新)用于CCK(有很多自定义模板)和部署在Joomla 1.5.26安装上的Joomfish(2.1.7)。

我使用以下代码(在我的模板中),以便按名称(K2 2.5.7)获取我个人的k2额外字段:

$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开始,可以选择直接获取额外的字段名称&amp; VAL:

$这 - &GT;项目-extraFields-&GT; ALIASNAME-&GT;名称 $这 - &GT;项目-extraFields-&GT; ALIASNAME-&GT;值

如K2中所述2.6.2什么是新文档。

问题如下:

我有希腊语(默认)和英语语言环境的双语网站。

我在默认语言环境“Πεδίο1”中创建了一个额外字段,别名为“field1”

如果我尝试翻译它,我唯一的选择就是将其名称翻译成'Extra Field 1'(与其别名不同)......

然后在我的自定义模板中,如果我尝试获取它,如:

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

只有希腊语语言环境有效。在英语语言环境中,我收到一个NULL值!

任何相关的经验和解决方案?

2 个答案:

答案 0 :(得分:0)

尝试这样做:

<强>字符串:

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

翻译(语言文件):

CUISINE=Cuisine

我不确定您使用哪个文件来翻译字符串,但是当您将此代码添加到模板index.php时,请将翻译字符串添加到 en-GB.tpl_tamplatename.ini

答案 1 :(得分:0)

经过大量测试后,我认为在多语言网站中,使用别名来检索单个额外字段值不起作用。至少不适用于Joomla 1.5 ......

应该运行的代码是:

$这 - &GT;项目-extraFields-&GT; ALIASNAME-&GT;值

我的网站使用默认语言“希腊语”和辅助语言“英语”。

我有一个名为希腊语'Πεδίο1'的额外字段,其中包含别名'field1'。

我已将这个额外的字段(使用Joomfish)翻译成'Field 1'...

如果我尝试使用以下方法获取其值:

$这 - &GT;项目-extraFields-&GT; field1-&GT;值

该代码仅适用于默认语言“希腊语”但不适用于英语。