2014-12-09 3 views
0

У меня есть: оператор if, который проверяет, равен ли идентификатор страницы значению cms ID, я не так разбираюсь в коде smarty. Поэтому я точно не знал, как исправить мою проблему.Smarty проверяет, соответствует ли идентификатор определенным номерам

{if $cms->id eq 10} 
    {* Do Something *} 
{/if} 

Что я хочу: является то, что у меня есть массив с несколькими страниц идентификаторов, и что он проверяет, является ли один из этих идентификаторов соответствует {$cms->id}. Надеюсь, это понятно, что я имею в виду. Ниже я добавил код php, который делает то же самое, только я могу заставить его работать в Smarty.

$numbers = array(10,20,30,40,50,60); 
if(in_array($cms->id, $numbers, true)){ 
    /* do something */ 
} 
+0

вы пробовали -> '{если in_array ($ CMS-> идентификатор, массив (10,20,30,40,50,60)))} {* Do Something *} {/if} ' – Sean

+0

@Sean - Да, я пробовал это, но, к сожалению, тоже не работает. – Paul

ответ

1

Вы можете использовать in_array

Попробуйте

{if in_array($cms->id, $array)} 
    {* some template *} 
{/if} 

$ массив должен быть назначен шаблон, создавая массив внутри шаблона невозможно с Smarty

+0

Я использовал ваш код, и он делает именно то, что я хочу. Спасибо, дал вам голосование – Paul

+0

Я рад, что смог помочь – mleko

1

Вы можете использовать функцию substr_count ()

{if substr_count($arrayString, $subString)} 
    do Something 
{/if} 

Документ по адресу: Php document

+0

Спасибо за ответ – Paul

Смежные вопросы