个人工具
名字空间
变换
操作

Joomla/表格式模板列宽度自动扩展的实现

来自站长百科
跳转到: 导航, 搜索

Joomla | Joomla使用手册

使用 Joomla! 的建站的用户,谁不想拥有漂亮的模板呢?但是免费的模板往往难以满足站长的全部要求。所以,我们不妨“自力更生,丰衣足食”—— 自己做模板!

虽然说 Joomla! 的模板用<div>来做是最合理的,不过这个技术对于新手来说有一定难度。因此,向新手推荐使用表格,即<table>来制作模板。

不过,已经发现了一个问题:用表格制作的模板,其列宽度无法自动扩展。

目录

问题描述

比如,我们在表格中建立一个行,把这一行又分三个列,分别代表left、mainbody和right。这是一般三栏式模板的设置。在前台阅读文章系统时,左侧栏显示主菜单、登陆表单等,正文区显示文章,右侧可以放置广告、友情链接、日历、投票等等。假设我们在网站中还建立了一个论坛,当我们打开论坛页面时,我们希望左侧和右侧都消失,使得论坛占据整个屏幕宽度,这样看起来比较清楚。在后台,我们可以通过设置模块的显示位置来取消左右两栏各个模块在论坛页面的显示,但是,这时候论坛无法自动扩展,左右两栏虽然不显示任何内容,却留下空白区域占据一定宽度。

这就是我们今天要解决的问题。实际上解决方法很简单。

解决办法

我们的目标是:让左右两栏能够自动判断该列是否有模块发布,如果没有内容,则自动隐藏,让 mainbody (即中间列)自动扩展占据整个网页宽度。

Notepad++ 开源记事本软件 或者 DreamWeaver 打开网站当前模板的 index.php 文件,找到左右两栏所在的单元格。切换到“代码”界面,代码一般是:

<tr>

    <td><?php mosLoadModules ( 'left' ); ?></td>

    <td><?php mosMainBody(); ?></td>

    <td><?php mosLoadModules ( 'right' ); ?></td>

</tr>

从上面代码可以看出,这一行中左、中、右三个单元格分别代表左侧栏、正文、右侧栏。把上述代码修改为:

<tr>
        <?php if (mosCountModules('left')>0){?>

<td><?php mosLoadModules ( 'left' ); ?></td><?php }?>

       <td><?php mosMainBody(); ?></td>

       <?php if (mosCountModules('right')>0){?>

<td><?php mosLoadModules ( 'right' ); ?></td><?php }?>

</tr>

利用一句php代码,我们给左右两栏添加了判断语句。如果左侧或者右侧没有模块发布,那么该列将自动隐藏,旁边的列则自动扩展。

参考来源

http://www.joomlagate.com/article/joomla10-tutorial/auto-strech-in-joomla-template-made-of-tables/

Joomla 1.0使用手册导航

Joomla安装

Joomla!的安装

Joomla 1.0教程

让网站自动适应掌上电脑阅读版面 | MosIf的使用 | Joomla登录模块的DIY改造| 用下拉式页面跳转替换Joomla跳转列表 | configuration.php文件操作 | 用blog形式做简单的产品展示 | 将DreamHost的mysql数据导入及导出的问题 | 给页面顶端添加ActiveX Infobar | 用JA Transmenu模块做多级弹出菜单 | 用桥接器整合开源Gallery2图库到Joomla | 用CB Profile Gallery搭建交友网站的会员相册 | 在网页中插入Google Map地图 | VM中产品详情只显示大图的实现 | Joomla!扩展(组件、模块、触发器)的汉化 | Joomla! Pack的使用 | 应用JSMF桥接器在Joomla!上安装SMF论坛 | Advanced Flash Mp3 Player播放器模块用法 | Joomla/Allvideos Plugin 引用视频、音频的方法|geshibot使用详解 | 表格式模板列宽度自动扩展的实现 | Joomla! Tkit使用详解 | Community Builder 1.0.2 的安装方法 | 利用CSS给文章标题添加图片 | 如何选择合适的下载组件 | 让Joomla支持flash格式的banner

其他Joomla教程

用XAMPP快速搭建Joomla本地测试服务器 | 用Gmail的SMTP发送Joomla激活及通知邮件 | 深入认识Joomla CMS:扩展、菜单及模板 | Joomla 1.5教程 | Joomla高级教程 | Joomla! SEO教程

留言