0

prestashop 1.4.8、PHP 5.3 でこれをモジュールで実行したいと考えています。

$myVar = 'Vincent';
echo $this->l($myVar);

なぜ機能しないのか、「本当の」違いは何なのかわかりません

echo $this->l('Vincent')

ラベルは、独自のモジュール構成システムの XML ファイルから取得されるため、これを行う必要があります。

何か案が ?

ありがとうございます。

4

3 に答える 3

2

やあ、

PrestaShop で何かを翻訳したい場合は、l 関数を使用する必要があります。

これ :

$fieldToTranslate = $this->l('My Text to translate');  
echo $fieldToTranslate; 

と類似しています :

echo $this->l('My Text to translate');

エコーを使用すると、選択した言語に応じて、翻訳された文字列が表示されます。

機能しない場合は、モジュールで l 関数が使用できるかどうかを確認する必要があります...正しいクラスから継承しましたか? 等

お役に立てれば、

Br、

于 2012-08-17T12:45:44.687 に答える
0

これを試しましたか?

$myVar = 'Vincent';
echo $this->l($myVar, 'your module name');
于 2014-12-03T13:24:05.553 に答える
0

少し遅れましたが、これが私の 2 セントです。

その理由は、Prestashop がリテラル文字列を想定しているためです。prestashops の翻訳関数に変数を渡しても意味がありません。翻訳する単語が任意の文字列である可能性がある場合、翻訳モジュールはどの翻訳を使用するかをどのように知るのでしょうか?

これが、二重引用符で囲まれた文字列が機能しない理由でもあると思います...それらには変数が含まれている可能性があります。

于 2016-07-28T11:34:05.890 に答える