模板countmodules可调宽度?

时间:2013-04-09 23:07:11

标签: templates joomla width

好,

我确信之前已经回答过,而且我相信这个链接可以帮助我http://docs.joomla.org/Hide_column_to_avoid_width_issues

我对语法或php编码不是很熟悉,所以我无法按照我要做的事情进行操作..

我正在构建一个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%;
}

我把内容使用的任何标签浮动:左;我尝试做的是使用'min-width:'到主要内容,min-width似乎不起作用。那么什么可能是一个解决方案,希望我不必像曾经建议的那样转向jQuery。这有足够的信息吗?

-edited -

1 个答案:

答案 0 :(得分: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%,75%或50%,具体取决于是否发布了right1和/或right2。 您还需要将CSS中的#maincolumn浮动到左侧。

相关问题