1

私は私の心を破壊しようとしている問題を抱えています...私はPHP開発者ではないので、それを解決する方法を見つけることができません...

Joomla 1.5.26インストールでデプロイされたCCK(多数のカスタムテンプレートを使用)およびJoomfish(2.1.7)にK2(v 2.6.2が2.5.7から更新)を使用しています。

個々の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以降、追加のフィールド名と値を直接フェッチするオプションがあります。

$ this-> item-extraFields-> ALIASNAME-> name $ this-> item-extraFields-> ALIASNAME-> value

K22.6.2で説明されているように新しいドキュメントとは何ですか。

問題は次のとおりです。

ギリシャ語(デフォルト)と英語のロケールのバイリンガルサイトがあります。

デフォルトロケール「Πεδίο1」にエイリアス名「field1」の追加フィールドを作成します

私がそれを翻訳しようとすると、私が持っている唯一のオプションは、その名前を「エクストラフィールド1」(そのエイリアスとは異なる)と言うように翻訳することです...

次に、カスタムテンプレートで、次のようにフェッチしようとすると、次のようになります。

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

ギリシャ語のロケールのみが機能します。英語ロケールでは、NULL値を受け取ります!

関連する経験と解決策はありますか?

4

2 に答える 2

0

これを試してみてください:

弦:

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

翻訳(言語ファイル):

CUISINE=Cuisine

文字列の翻訳に使用しているファイルがわかりませんが、このコードをテンプレートindex.phpに追加しているので、翻訳文字列をen-GB.tpl_tamplatename.iniに追加してください。

于 2013-01-14T03:28:27.473 に答える
0

かなりの数のテストを行った後、多言語Webサイトでは、エイリアス名を使用して個々の追加フィールド値を取得することはできません。少なくともJoomla1.5ではそうではありません...

動作しているはずのコードは次のとおりです。

$ this-> item-extraFields-> ALIASNAME-> value

デフォルト言語「ギリシャ語」と第二言語「英語」のWebサイトがあります。

ギリシャ語の「Πεδίο1」という名前の追加のフィールドがあり、エイリアスは「field1」です。

この余分なフィールド(Joomfishを使用)を英語で「フィールド1」に翻訳しました...

次を使用してその値を取得しようとすると、次のようになります。

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

コードはデフォルト言語の「ギリシャ語」でのみ機能しますが、英語では機能しません。

于 2013-02-18T10:23:43.683 に答える