当前位置: 首页 > 图文教程 > 网页制作 > CMS技巧 > Joomla教程:一套模板实现多种布局模式

CMS技巧
Zblog帮助:模板文件与模板标签
Joomla教程:模板覆盖方式修改系统输出
Joomla教程:为Joomla插件创建语言包
Joomla教程:文章页面中显示指定的模块
Joomla教程:控制Section中的分类列表页面的显示方式
Joomla教程:mod-rewrite是否真的被开启
在Joomla自定义HTML模块组合使用Google小工具
Joomla教程:本地搭建的Joomla站点发送邮件
Joomla教程:在Who is online模块中显示用户名
dedecms教程:栏目页面转换为单独页面
CMS可用性测评:帮助找到适合自己的内容管理系统
Joomla中文教程:构建多重站点
Joomla教程:在templateDetails.xml中添加语言文件声明
Joomla教程:为页面和模块添加独立的自定义Class
Joomla教程:为“read more”链接添加对应的文章标题
Joomla教程:查看并修改模板的CSS
Joomla中文教程:创建并使用插件对文章内容进行修改
Joomla教程:网站首页第一次加载时播放一次Flash动画
Joomla教程:禁止未分类文章被站内搜索
Joomla教程:去掉分类文章列表中的文章序号

CMS技巧 中的 Joomla教程:一套模板实现多种布局模式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 30 ::
收藏到网摘: n/a

有时,我们需要页面的布局方式根据不同页面而发生相应的变化,但不希望为此而写另一套相似的模板来提供这些不同的布局模式;下面是一种针对该需求的解决方案。

设想我们的站点包括一个基于Fireboard的论坛,以及一个基于MyBlog的博客;对于论坛,我们希望页面以“内容+右侧边栏”的模式来呈现;对于博客则是“左侧边栏+内容”的模式。而其他页面则使用系统默认的呈现方式

可以将下面的代码加入模板的index.php文件中,替换掉原来默认的<jdoc:include type="component" />.

<?php if (JRequest::getVar('option') == 'com_fireboard' ) {?> <!--code to detect Fireboard is loaded-->

<div class="MainCol">
<jdoc:include type="component" />
</div>
<div class="RightCol">
<jdoc:include type="modules" name="RightCol" style="none" />
</div>

<?php } elseif (JRequest::getVar('option') == 'com_myblog') {?> <!--code to detect Blog is loaded-->

<div class="LeftCol">
<jdoc:include type="modules" name="LeftCol" style="none" />
</div>
<div class="MainCol">
<jdoc:include type="component" />
</div>

<?php } else {?>

<jdoc:include type="component" />

<?php } ?>

前面两段代码分别判断当前页面是否包含Fireboard或MyBlog的组建,如果是,则采用相应的布局方式;如果不是,则仍使用默认的布局。

当然,对于代码中设定的“MainCol+RightCol”或“LeftCol+MainCol”两种布局,仍需要在CSS中做好相应的样式。