1

SimpleXmlを使用してXMLファイルを解析し、そのオブジェクトをSmartyテンプレートに渡すPHPページがあります。私の問題は、XMLファイルのタグ名にハイフンが含まれていることvideo-playerです。PHPでは、これは問題ありません。私は使用するだけで$xml->{'video-player'}、すべて問題ありません。一方、Smartyは、その構文を使おうとするとフィットします。

私がこれまでに思いついた唯一の解決策は、名前を格納するために変数を使用することです。

{ assign var=name value="video-player" }
{ $xml->$name }

しかし、これは控えめに言ってもひどく優雅ではありません。Smartyでハイフンでつながれた変数名を参照するための別のより良いアプローチはありますか?

4

3 に答える 3

3
{php}
    echo $xml->{'video-player'};
{/php}
于 2010-04-08T17:15:44.967 に答える
0

Dwooやってみます

{$xml->`video-player`}

多分Smartyそれでも動作します。

于 2010-04-08T17:17:55.163 に答える
0

一重引用符で囲む必要があります。

また、次のような比較ブロックでも機能します。

{if $variable == 'hyphenated-value'} it works! {/if}

それ以外の

{if $variable == hyphenated-value} do not work! {/if}
于 2011-06-21T19:10:01.620 に答える