Как проверить сложное условие в Присяжного острослова (PHP)

Я должен отобразить раздел или другого в шаблоне присяжного острослова. Мое условие просто: если значение присяжного острослова запускается со строки, я должен отобразить один раздел, иначе другой раздел присяжного острослова должен быть отображен. Я могу изменить только tpl файлы.

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

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

Проблема состоит в том, что я не могу считать URL varible, который был ранее присвоен с помощью $smarty->, присваиваются. В основном я ищу функцию присяжного острослова, которая может использоваться для получения значения, или если существует лучшее решение.

5
задан adiian 3 June 2010 в 19:44
поделиться

1 ответ

Во-первых, я бы очистил ваш код. Вам не нужны теги php, вы используете smarty:

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

     section 1

 {else}
        section 2   
 {/if}

Это не проверено, но должно быть довольно близко ..

Теперь, если вы пытаетесь прочитать что-то вроде константы, например, серверную переменную, такую ​​как HTTP_HOST, вы можете сделать что-то вроде этого:

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

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

     section 1

 {else}
        section 2   
 {/if}
5
ответ дан 14 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: