joomla 2.5 - 基于bootstrap的模板 - 设置模块宽度的优雅方式

时间:2013-05-23 10:33:00

标签: php templates twitter-bootstrap joomla2.5

我使用joomla 2.5创建了自己的基于bootstrap的模板。 我已经在一个栏内的一行上计划了两个可选模块(如果里面没有模块则必须隐藏),但如果它们没有一起显示,我希望它们占据整行。 我的代码很简单,而且效果很好,但由于我讨厌编写不必要的行,我想知道是否有更优雅的方法来实现这个目标(或者如果我可以避免在mycode中进行一次或多次检查......) 这是我的代码

<?php if(($this->countModules('position-16'))|| ($this->countModules('position-17'))): ?>
<div class="evo-showcase">
    <div class="container"> 
        <div class="row">
        <?php if($this->countModules('position-16')):?>
            <?php if($this->countModules('position-17')):?>
            <div  class="span6">
                <jdoc:include type="modules" name="position-16" style="none" />
            </div>
            <div  class="span6">
                <jdoc:include type="modules" name="position-17" style="none" />
            </div>
            <?php else :?>
            <div  class="span12">
                <jdoc:include type="modules" name="position-16" style="xhtml" />
            </div>
            <?php endif; ?>
        <?php else :?>
            <div  class="span12">
                <jdoc:include type="modules" name="position-17" style="xhtml" />
            </div>  
        <?php endif; ?>
        </div>      
    </div> 
</div>

2 个答案:

答案 0 :(得分:0)

<?php
$spanClass=(($this->countModules('position-16')&&($this->countModules('position-17'))?6:12;
?>
<?php if($this->countModules('position-16')):?>
<div  class="span<?php echo $spanClass;?>">
 <jdoc:include type="modules" name="position-16" style="none" />
</div>
<?php endif; ?>

<?php if($this->countModules('position-17')):?>
<div  class="span<?php echo $spanClass;?>">
 <jdoc:include type="modules" name="position-17" style="none" />
</div>
<?php endif; ?>

答案 1 :(得分:0)

<?php
$span = 0;
if($this->countModules('position-16') and $this->countModules('position-17')){
    $span = 6;
} else if ($this->countModules('position-16') or $this->countModules('position-17')) {
    $span = 12;
}
?>

<?php if($span > 0):?>
<div class="evo-showcase">
    <div class="container"> 
        <div class="row">

            <?php if($this->countModules('position-16')):?>
            <div class="span<?php echo $span;?>">
                <jdoc:include type="modules" name="position-16" style="none" />
            </div>
            <?php endif;?>

            <?php if($this->countModules('position-17')):?>
            <div class="span<?php echo $span;?>">
                <jdoc:include type="modules" name="position-17" style="none" />
            </div>
            <?php endif;?>

        </div>
    </div>
</div>
<?php endif;?>