我有一个问题会破坏我的想法...我不是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值!
任何相关的经验和解决方案?
答案 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;值
该代码仅适用于默认语言“希腊语”但不适用于英语。