2012-04-26 7 views
0

私はコンクリート5で私のカスタムテーマのための条件文を作成しました。私のコードの目標は、レイアウトを切り替えることです。現在のページの下に子ページがある場合は、サブページアイテムを一覧表示するための追加のサイドバー(<div class="grid_3">)が表示されます。子ページがない場合は、完全レイアウト(<div class="grid_13">)が表示されます。私のPHPの条件ステートメントはifとelseの2つの結果を表示しますが、私のコードは間違っていますか?

残念ながら私は別の結果を得ます。私はおそらく私の条件ステートメントで逃したものがあります。ただ1つのレイアウトを表示するのではなく、2つのレイアウトをレンダリングしています。

以下

が好きなもの私のコードの外観です:PHPのコンテンツ生成部分は、適切なPHPタグ(<?php … ?>)を使用していますが

<? if($c->getNumChildren()) { ?> 


<div class="grid_3"> 
    <?php 
    $bt_sidenav = BlockType::getByHandle('autonav'); 
    $bt_sidenav->controller->orderBy = 'display_asc'; 
    $bt_sidenav->controller->displayPages = 'below'; 
    $bt_sidenav->controller->displaySubPages = 'all'; 
    $bt_sidenav->render('view'); 
    ?> 
</div> 

<div id="main-content-container" class="grid_10"> 
    <div id="main-content-inner"> 
     <?php 
     $a = new Area('Main'); 
     $a->display($c); 
     ?>   
    </div> 
</div> 

<? } else { ?> 

<div id="main-content-container" class="grid_13"> 
    <div id="main-content-inner"> 
     <?php 
     $a = new Area('Main'); 
     $a->display($c); 
     ?>   
    </div> 
</div> 

<? } ?> 

答えて

4

、あなたのif/else文は、多くの場合、無効になっている短いタグ(<? … ?>)を使用します。

代わりに<?phpを使用してください。

0

次のように実行しようとは、この問題に

<?php if($c->getNumChildren()!='') { ?> ... <?php } else { ?> ... <?php } ?>

を解決することがあり
関連する問題