Smarty проверить, если идентификатор соответствует определенным числам

0

Что у меня есть: оператор if, который проверяет, равен ли идентификатор страницы идентификатору cms ID, я не так разбираюсь в коде 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
    Вы пробовали -> {if in_array( $cms->id, array(10,20,30,40,50,60))) } {* Do Something *} {/if}
  • 0
    @Sean - Да, я пробовал это, но это, к сожалению, тоже не работает.
Теги:
smarty
smarty3

2 ответа

1
Лучший ответ

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

Пытаться

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

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

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

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

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

Документ: документ Php

  • 0
    Спасибо за ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню