我在 Concrete5 中为我的自定义主题创建了一个条件语句。我的代码目标是切换布局。如果当前页面下有子页面,它会显示一个附加的侧边栏 ( <div class="grid_3">
) 来列出子页面项目。如果没有子页面,它将显示完整的布局 ( <div class="grid_13">
)。
不幸的是,我得到了不同的结果。我的条件声明中可能遗漏了一些东西。它不是只显示一种布局,而是呈现两种布局。
下面是我的代码的样子:
<? 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>
<? } ?>