2013-04-09 54 views
0

好吧,模板计数模块可调宽度?

我敢肯定,这之前已经回答了,也相信这个链接可以帮助我http://docs.joomla.org/Hide_column_to_avoid_width_issues

我不是很熟悉的语法或PHP代码,所以我麻烦下面是什么我已经m试图做..

我正在建立一个joomla 2.5模板,我使用countmodules隐藏'divs'或整个职位,当没有模块发布那里。我的问题是让我们说在100%宽度的主列中,我希望有时在主内容框中仅显示整个列宽度的25%宽度内的内容右侧的模块。好的,这是有效的。

但是我想将内容浮动到左侧,这个25%宽度的模块我们会调用'right1',它会漂浮在右侧,所以我需要给出我的主要内容宽度为75%左右,以使所有内容都浮动很好,并正确显示,它确实!我的问题是我不明白如果'right1'不存在,如何使我的主要内容宽度达到100%。如果我在'right1'中没有显示任何模块,所以它不会显示如何将主内容的CSS调整为100%,而不是缩小到75%以弥补缺失的right1位置。

我可能真的很愚蠢,在我面前有一个简单的解决方案,我不记得了。提前致谢!

-edited-

它沿着这样的事情

<div id="contentcontainer"> 
<jdoc:include type="message" /><jdoc:include type="component" /> 
<?php if ($this->countModules('right1')) : ?> 
<div id="right1"><jdoc:include type="modules" name="right1" style="xhtml" /></div> 
<div class="clearfix"></div><?php endif; ?><?php if ($this->countModules('right2')): ?> 
<div id="right2"><jdoc:include type="modules" name="right2" style="xhtml" /></div> 
<div class="clearfix"></div> 
<?php endif; ?> 

</div></div></div> 

我刚添加的contentcontainer行去,以确保他们是一个100%的宽度容器内与

#contentcontainer{ 
width:100%; 
position:relative; 
} 

#right1, #right2 { 
border: 1px solid #990000; 
border-radius: 18px 18px 18px 18px; 
box-shadow: 5px 3px 5px #990000; 
display: block; 
float: right; 
height: auto; 
width: 25%; 
} 
工作

我把任何标签的内容使用float:left;我试过的是在主内容中使用'min-width:',最小宽度似乎不起作用。那么可能是一个解决方案,希望我不必像以前建议的那样转向jQuery。这是否足够的信息?

-edited-

+0

你可以显示使用'countmodules'中的代码吗?这样我们可以提出一些建议 – Craig 2013-04-09 23:39:29

回答

0

您可以使用一些简单的PHP和内联样式。我不是PHP的专家,所以这可能不会如此优雅,但我相信有人会纠正它。

<div id="contentcontainer"> 

    <?php 
    //column calculation 
    $columns == 0; 
    if($this->countModules('right1')) {$columns++;} 
    if($this->countModules('right2')) {$columns++;} 
    $centercolumnwidth = 100 - (25 * $columns); 
    ?> 

    <jdoc:include type="message" /> 

    <div id="maincolumn" style="width:<?php echo $centercolumnwidth ?>%"> 
     <jdoc:include type="component" /> 
    </div><!--/maincolumn--> 

    <?php if ($this->countModules('right1')) : ?> 
    <div id="right1"> 
     <jdoc:include type="modules" name="right1" style="xhtml" /> 
    </div><!--/right1--> 
    <div class="clearfix"></div> 
    <?php endif; ?> 

    <?php if ($this->countModules('right2')): ?> 
    <div id="right2"> 
     <jdoc:include type="modules" name="right2" style="xhtml" /> 
    </div><!--/right2--> 
    <div class="clearfix"></div> 
    <?php endif; ?> 

</div><!--/contentcontainer--> 

我刚输入了这一点而无需测试,但它应在#maincolumn的宽度设置为100%,这取决于是否RIGHT1和/或右2被发布75%或50%。 您需要将#maincolumn浮动到CSS的左侧。