蒙honeymoose老大信任,当了版主了,这里分享一下 joomla 模板制作的一些心得。
一般很多网站都需要一个美观的首页,这个首页布局会和后续页面的布局有很大的差异。在最初我的方法是单独制作一个首页用的模板。这个后果是在以后的管理带来一些麻烦,对于一些模块的定位、显示管理都不是不太方便。
随着经验的不断积累,网上也找了不少的资料发现一点,可以在模板中加入一个判断,判断是否为首页,直接在模板中做一些小的调整(太大,太多还是建议另做一个)
代码示例:[code]<?php $menu = &JSite::getMenu();?>
<?php if($menu->getActive() == $menu->getDefault()) : ?>//是首页
<?php else : ?>//不是首页
<?php endif; ?>[/code]具体例子,这是一个实际应用中的例子,改自 joomla 自带模板 rhuk_milkyway。[code]<tr valign="top">
<?php if($menu->getActive() == $menu->getDefault()) : ?>
<td><jdoc:include type="modules" name="user1" /></td>
<td><jdoc:include type="modules" name="user2" style="xhtml" /></td>
<?php else : ?>
<td><jdoc:include type="modules" name="user4" style="xhtml" /> </td>
<?php endif; ?>
</tr>
这个表格在网站的一侧,在首页时需要并列显示两栏,而在其他页面只要一栏,在 user4 这个模块定位点会插入好几个模块。
同时,由于网站经常会有所变更(这也是为什么使用 joomla 这个 CMS 理由)相应的菜单也会增减。
如果不做首页判断,仅仅实现功能也是完全可以的,但是,所有定位于 user4 的模块都需要选择菜单项以避开首页。当增加一页时,所有模块都需要再次设置,让其在该菜单项的页面显示出来。
现在有了这个判断,在模板中已经直接避开首页了,user4 的所有模块我直接选择在所有地方显示就可以了,不管我以后网站怎么动,都不用去重新设定位于定位点 user4 的所有模块参数了。