Nasıl Smarty hyphenated adlarla değişkenleri erişebilirim?

2 Cevap php

Ben SimpleXML ile XML dosyasını ayrıştırır bir PHP sayfası, ardından bir Smarty şablona bu nesneyi geçer var. Benim sorunum XML dosyası örneğin, etiket adları, tire olmasıdır video-player. PHP, bu sadece $xml->{'video-player'} ve her şey yolunda kullanmak, sorun yok. Ben bu sözdizimi kullanmaya çalıştığınızda Smarty, diğer taraftan, bir uyuzluk.

Ben şimdiye kadar ile geldim tek çözüm adını depolamak için bir değişken kullanmak için, örneğin,

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

Ama bu az söylemek korkunç zarif değildir. Smarty bilmemne değişken adına atıfta başka, daha iyi, yaklaşım var mı?

2 Cevap

In Dwoo ben deneyeceğim

{$xml->`video-player`}

belki de Smarty çok çalışacaktır.

Sadece tek tırnak içine koymak gerekir.

Aynı zamanda gibi comparission bloklar üzerinde çalışır:

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

yerine

{if $variable == hyphenated-value} do not work! {/if}