2011-10-26 28 views
0

カテゴリに応じて動的コンテンツを表示します 1 if文で複数のgetIdを組み合わせたい場合を除いて、コードは完全に正常に動作します。 。。WICHは私に余分なコードの多くを与える場合またはELSIF文のあたりに は、それが1にmulitpleカテゴリidを組み合わせることが可能であるif文???

現在のコード:

<?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; ?> 
+0

コードなしでタイトルを記入してください。 – markus

答えて

3

私は通常これを行いますしたがって、in_array()関数を使用すると、

<?php 
    $myValidIds = array(1,2,3); 
    if(in_array($category->getId(), $myValidIds)){ 
     // Do something.... 
    } 
?> 
+0

ありがとう、これは完全に動作します! – Ruud

+0

問題ありません!お役に立てて嬉しいです。 –

0

単純なin_arrayで十分です。

$allowed = array('1', '2', '3'); 
if (inarray($category->getId(), $allowed)){ 
    //it exists, show text 1 
}else{ 
    //it doesnt exist, show text 2 
} 
0

なぜ

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

-1

idが1、2、または3は、なぜあなただ​​け

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

を入力することはできません等しい時はいつでも "テキスト1" が提供されている場合は?

+0

これはとても醜く、判読不能です...そしてgetId()メソッドは毎晩呼び出されます! –

+0

さて、それは動作します。さらに、J2EEプログラマとして、私はこの美しい100サインラインでは醜いものを見つけることができません;) – Moyshe

+0

まあ、PHPプログラマとして私はそれが醜い –