Joomla!-开源天空

2008-10-12
首页 专栏热点 Joomla! 应用 Joomla! 1.5 模板开发step by step(八) 隐藏列


Joomla! 1.5 模板开发step by step(八) 隐藏列

E-mail

到目前为止,我们的模板采用三列结构布局,而不管这一列中是否有内容。对于一个CMS网站来说是没有什么益处的,因为这部分内容不发生变化。但是因为需要管理员能够改变模块的位置,所有我们需要能够自动关闭或者折叠起一列来。这就是列隐藏。

在这篇文章中http://www.maycode.com/index.php/hotspot/28-joomla/406-joomla-template.html我们提到了Joomla! 1.5模板的新特征,请参考。在Joomla! 1.5的模板开发中,我们采用countModules来判断是够某列有模块需要显示。

通常的代码如下:

<?php if($this->countModules('left')) : ?>
 do something
<?php else : ?>
 do something
<?php endif; ?>

countModules支持关系运算以及部分数学运算,以下是例子:

countModules('left') //如果left有模块显示,则返回1
countModules('left and right') //left和right都有模块显示,返回1
countModules('left or right') //left或right之一模块显示,返回1
countModules('left + right') //left和right都有模块显示,返回1

使用这个函数,我们就可以实现隐藏不需要的列。

通常有集中方式来实现,我们这里在页面的头部进行计算,代码如下:

<?php 
if($this->countModules('left and right') == 0) $contentwidth = "100";
if($this->countModules('left or right') == 1) $contentwidth = "80";
if($this->countModules('left and right') == 1) $contentwidth = "60";
?>

这样,如果左右都没有模块显示,那么我们采用100%列宽,如果左或者右右一列显示,那么我们采用80%列宽,如果都有,那么我们采用60%列宽。

同时,我们把内容部分改为:

<div id="content<?php echo $contentwidth; ?>">

这样我们就选择了合适的列宽。

同时,我们在template_css.css文件中添加:

#content60 {float:left;width:60%;overflow:hidden;}
#content80 {float:left;width:80%;overflow:hidden;}
#content100 {float:left;width:100%;overflow:hidden;}


隐藏空的模块:

同样我们也需要隐藏空的模块,示例代码如下:

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

这样,如果左边如果没有模块,那么 id=sidebar 自然也不会出现了。

至此,我们就完成了一个基本模板的开发过程,接下来我们给出一个真是模板的开发过程。


 

相关文章:
youjoomla.com发布的一款Joomla!1.5免费模板social bug
joomla 1.0系列的免费模板
Happiness - A Free Joomla 1.5 Template from TemplateJoomla!
olyra模板的问题 user3模块位置显示
来自templateplazza的免费模板
新增两款Joomla! 1.5模板下载
一款还没有开发完的模板,但是挺酷的
Joomla! 1.5 模板开发step by step(九) 创建一个实际模板
Joomla! 1.5 模板开发step by step(七) 菜单处理
Joomla! 1.5 模板开发step by step(六)


收藏此文章:
Digg! Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码