2012-03-19 11 views
3

は、このようにいくつかのコードがあります。どのようにマゼンタで条件を行うのですか?

<div class="test"> 
     <div class="upsell-tags"> 
    <?php echo $this->getChildHtml('product_additional_data') ?> 
    <?php echo $this->getChildHtml('upsell_products') ?> 
     </div> 
    </div> 

iは<div class="test">前であれば条件を追加します。私はどのように行いますか?ありがとうございました。 次のコードを追加すると、エラーが表示されます。どうして? PHPのドキュメントから

<?php if(isset($this->getChildHtml('upsell_products'))):?>..... 


    <?php endif;?> 

答えて

3

警告

ISSETは()のみパースエラーになります何かを渡すなどの変数で動作します。定数が設定されているかどうかを調べるには、defined()関数を使用します。

有効な使用ではない関数の戻り値を渡しています。

$upsell = $this->getChildHtml('upsell_products'); 
if($upsell) { 
    // ... 
} 
2

magentoコードを調べると、関数getChildHtmlが文字列を返します。

もう少し見ると、レンダリングするものがない場合、関数は空の文字列を返しているようです。だから私はちょうど条件なしで返されたHTMLを表示します。あなたが本当に何かがあるかどうかを知る必要があるなら、私はします:if($ this-> getChildHtml($ name)!= '')

関連する問題