Smarty karmaşık durumunu kontrol etmek için nasıl (PHP)

1 Cevap php

Ben bir smarty şablonda bir bölüm veya başka bir görüntülemek gerekir. Benim durum basittir: smarty değer bir dize ile başlar eğer ben bir bölümünü göstermek, aksi takdirde diğer smarty bölüm görüntülenir etmelidir. Ben sadece tpl dosyaları değiştirebilirsiniz.

    {php}
    if (substr($url,0,4) != 'http')
    {
    {/php}
                  section 1

    {php}
    }
    else
    {
    {/php}
        section 2   
    {php}
    }
    {/php}

Sorun önce $ smarty-> assign kullanılarak atandı url varible dile okuyamıyor olmasıdır. Temelde, bir değer almak için kullanılan olabilir smarty işlev arıyor, ya da daha iyi bir çözüm varsa ediyorum.

1 Cevap

Öncelikle, ben senin kodunu temizlemek olacaktır. Sen php etiketleri gerekmez, sen smarty kullanıyorsanız:

 {if substr($url,0,4) neq 'http'}

     section 1

 {else}
        section 2   
 {/if}

Bu denenmemiş ama oldukça yakın olmalıdır ..

Şimdi, bir sabit gibi bir şey okumak için çalışıyorsanız, örneğin HTTP_HOST gibi bir sunucu değişken, böyle bir şey yapabilirsiniz:

 {assign var='url' value=$smarty.server.HTTP_HOST}

 {if substr($url,0,4) neq 'http'}

     section 1

 {else}
        section 2   
 {/if}