2014-09-11 66 views
0

下面是我的如果條件如何顯示結構取決於模塊是在'左'位置還是'右'位置,或者如果一個模塊同時在'左'和'右'。我的Joomla條件模塊職位出了什麼問題?

模塊處於「左」位置或「右」位置的條件起作用。但是,如果我在「左」和「右」位置都有一個模塊,則只會顯示「左」位置的模塊,而不顯示「右」位置的模塊。

有人可以幫我解決問題嗎?

<?php if($this->countModules('left')) : ?> 
<!-- Content Region with Left Column: Start --> 
<div class="contentholder onecol"> 

    <div class="contentcol colleft"> 
     <jdoc:include type="modules" name="left" style="xhtml" /> 

     <div class="clear"></div> 
    </div> 

    <div class="contentbody"> 
     <jdoc:include type="message" /> 
     <jdoc:include type="component" /> 

     <div class="clear"></div> 
    </div> 

    <div class="clear"></div> 
</div> 
<!-- Content Region with Left Column: End --> 

<?php elseif($this->countModules('right')) : ?> 
<!-- Content Region with Right Column: Start --> 
<div class="contentholder onecol"> 

    <div class="contentbody"> 
     <jdoc:include type="message" /> 
     <jdoc:include type="component" /> 

     <div class="clear"></div> 
    </div> 

    <div class="contentcol colleft"> 
     <jdoc:include type="modules" name="right" style="xhtml" /> 

     <div class="clear"></div> 
    </div> 

    <div class="clear"></div> 
</div> 
<!-- Content Region with Right Column: End --> 

<?php elseif(($this->countModules('left')) && ($this->countModules('right'))) : ?> 
<!-- Content Region with Left & Right Column: Start --> 
<div class="contentholder twocol"> 

    <div class="contentcol colleft"> 
     <jdoc:include type="modules" name="left" style="xhtml" /> 

     <div class="clear"></div> 
    </div> 

    <div class="contentbody"> 
     <jdoc:include type="message" /> 
     <jdoc:include type="component" /> 

     <div class="clear"></div> 
    </div> 

    <div class="contentcol colleft"> 
     <jdoc:include type="modules" name="right" style="xhtml" /> 

     <div class="clear"></div> 
    </div> 

    <div class="clear"></div> 
</div> 
<!-- Content Region with Left & Right Column: End --> 

<?php else : ?> 
<!-- Content Region with No Columns: Start --> 
<div class="contentholder"> 

    <div class="contentbody"> 
     <jdoc:include type="message" /> 
     <jdoc:include type="component" /> 

     <div class="clear"></div> 
    </div> 

    <div class="clear"></div> 
</div> 
<!-- Content Region with No Columns: End --> 
<?php endif; ?> 

回答

0

看起來問題似乎是我的條件順序。條件:

<?php elseif(($this->countModules('left')) && ($this->countModules('right'))) : ?> 

應該先來,而不是第三。

看起來好像是因爲原始第一個條件中的'left'模塊滿足,所以if語句在那裏終止。因此,通過在頂部添加'左'& &'正確'的條件,如果不符合,代碼將繼續查看是否只有'左'模塊或'右'模塊。

+0

我發現這個鏈接,這也有幫助:http://docs.joomla.org/Customising_the_way_modules_are_displayed – Pegues 2014-09-11 02:57:35