несколько php if ($ category-> getId () == - PullRequest
0 голосов
/ 26 октября 2011

Я показываю динамический контент в зависимости от категории.Код работает отлично, за исключением того, что я хотел бы объединить несколько getId в 1, если заявление.В настоящее время каждый Id категории вызывается для оператора if или elsif.Который дает мне много дополнительного кода.Можно ли объединить несколько идентификаторов категорий в 1, если оператор ???

Текущий код:

<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();?> 
<?php if($category->getId()==1): ?> text 1
<?php elseif($category->getId()==2): ?> text 1
<?php elseif($category->getId()==3): ?> text 1
<?php else: ?> text 2
<?php endif; ?>

Ответы [ 4 ]

3 голосов
/ 26 октября 2011

Обычно я делаю это с помощью функции in_array () . Итак:

<?php
    $myValidIds = array(1,2,3);
    if(in_array($category->getId(), $myValidIds)){
        // Do something....
    }
?>
0 голосов
/ 26 октября 2011

Если "текст 1" предоставляется, когда идентификатор равен 1, 2 или 3, почему вы не можете просто набрать

<?php if($category->getId()==1 || $category->getId()==2 || $category->getId()==3): ?> text 1

0 голосов
/ 26 октября 2011

Почему бы не

$cat = $category->getId();
if($cat==1) ...

?

0 голосов
/ 26 октября 2011

Достаточно простого in_array.

$allowed = array('1', '2', '3');
if (inarray($category->getId(), $allowed)){
    //it exists, show text 1
}else{
    //it doesnt exist, show text 2
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...