【问题标题】:joomla 2.5 - bootstrap based template - elegant way to set up module widthjoomla 2.5 - 基于引导程序的模板 - 设置模块宽度的优雅方式
【发布时间】:2013-05-23 10:32:59
【问题描述】:

我已经使用 joomla 2.5 创建了我自己的基于引导程序的模板。 我已经在一个栏内的一行中计划了两个可选模块(如果其中没有模块,则必须隐藏),但如果它们没有一起显示,我希望它们占据整行。 我的代码很简单,而且效果很好,但是因为我讨厌编写不必要的行,所以我想知道是否有更优雅的方法来实现这个目标(或者我是否可以避免在 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>

【问题讨论】:

    标签: php templates twitter-bootstrap joomla2.5


    【解决方案1】:
    <?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;?>
    

    【讨论】:

    • 是的,你明白了!如果我以这种方式编码,我可以将第一次检查移到头部。谢谢。
    【解决方案2】:
    <?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; ?>
    

    【讨论】:

    • 你的代码也不错,但是与栏相关的代码仍然(空)在页面中,即使两个模块都丢失了。非常感谢^^
    猜你喜欢
    • 2013-07-23
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多