|
页面 1 共 3 很多会员在 Joomla!中文论坛 上提问“Maycode.com 首页那种样式是怎么做的”。实际上,如果你看过本站的另一篇文章《修改 Joomla! 1.5 的 HTML 输出而不动核心文件》就会明白,通过自定义 HTML 输出就能实现。本站会员 Shiliu 在论坛对这个问题的回答:“稍懂一些开发的知识.想改成什么样就是什么样的了.都是view 部分的”,就是这个意思。
我一直期待有高手能够奉献这样一个“中国式新闻门户首页布局”的 View 代码,这样无论什么模板都能直接复制过去启用。
但是中国的高手都太忙,所以等了几个月也没有结果。另外,从易用性角度来看,这种 overriding
的方式对新手来说多少有点困难。因此,我决定换一个思路。
今天介绍的方法适用于任何 Joomla! 模板,适用于任何 Joomla! 核心版本。同时,任何新手对照视频教程的示范操作一遍就能成功。你想模仿腾讯 QQ 首页?或者做一个类似新浪首页的 Joomla! 网站?那就不要错过本文!
 Maycode.com Frontpage
基本思路:
Joomla! 自带了一个值得赞赏的功能就是:模板分配。意思是,可以给任何一个菜单项目单独分配一个模板,当在前台点击该菜单时,就自动应用指定的模板;而点击其它菜单时,就应用 Joomla! 后台指定的“默认”模板。
我们就是利用这一点来解决问题!既然我们所需要的是“新闻门户式首页布局”,可见只跟“首页”有关系,我们不用考虑其它内容(所谓“二级页面”)。
大家都知道,在 Joomla! 上,“首页”本身就有对应的菜单项目。因此,我们只需要给“首页”这个菜单项目分配一个“新闻门户式”模板即可。
新问题:
- 目前没有专门的“新闻门户式”Joomla! 模板;
- 即使有这样的模板下载来,但是跟“二级页面”的模板风格不同,怎么办?
- 再退一步,有高手开发了这样的“新闻门户式” Joomla! 模板,也附带“二级页面”的风格,但是不合我的口味,怎么办?
- 或者,有了上述模板,也合我的口味,但是他要我掏钱,我不愿意付费,怎么办?
那么,本文就来解决这些问题。我们的目标是:根据用户已经在使用的 Joomla! 模板,通过人人可以学会的简单步骤,制作一个风格一致的“新闻门户式”Joomla! 模板,然后将它分配给“首页”菜单项目。
为了方便大家理解,就以 Maycode.com 的首页为模仿对象。
目标分析:
本文开头的插图就是 Maycode.com 的首页。可以看出,首页上基本包含下列内容:
- 网站 Logo 图片和文字;
- 注册、登录、收藏等链接;
- 顶部菜单;
- 图片循环放映模块;
- 文章展示模块;
- Google 搜索模块;
- Adsense 广告若干;
- 底部友情链接;
以上各项内容各自通过哪个对应的 Joomla! 模块来实现,我想大家都差不多知道。找不到现成模块的,用 Custom Code 模块也能自己输入 HTML 代码做一个,例如友情链接就可以这样。
因此,核心问题是:这些模块怎样排版成这个样子?
说到底,原来是一个“样式问题”。这就是为什么我最终选择用“Joomla! 双重模板法”来解决,而不是通过 php 编程。
既然说到了“样式”,我建议你最好了解一些初步的 CSS 知识,至少别人写的代码你能看懂,否则还谈什么 DIY 呢?有些人或许还在想:“我就不学 CSS,我也不想掏一分钱,我就要那个某某样子的网站”,您老火星来的吧?
实施计划:
为了简化,我们只选择 Maycode.com 首页上下半部分的三行两列文章展示模块部分,因为整个右侧栏可看作是 right
模块位置,只要你的模板是三栏式,基本上右侧都能自动实现这个样子;页面上半部分跟下半部分差不多,只是有一个 Flash 播放器,说穿了只不过是
another module,把它当作文章模块来看就行了。只要能作出下半页,上半页不就类推了?
下半页除了 6 个文章展示模块,还有一个 Adsense 广告部分,我们也一并模仿了,因为它的风格是横跨两列,介绍一下这个方法,你就能举一反三了。
文章展示模块有很多种,我们今天选用功能比较强大的 Display News by BK 图文展示模块。
当然,Maycode.com 很可能用的是别的模块,不过我们只要“模仿”就行了,没必要“克隆”啊。Adsense 广告我们就用 Joomla!
核心自带的 Banner 广告模块代替吧。如果你在实际做网站时真的需要 Adsense 模块,本站的下载栏目有很多。
我们选用 Joomla! 1.5.8 中文版核心自带的默认模板 rhuk_milkyway 为例。
关键步骤:
前面说了,我们要给“首页”这个菜单项目分配一个“新闻门户式”的 Joomla! 模板,并且要与现有的“默认”模板风格一致。那么,最“一致”的就是当前模板本身了,不是吗?
不过,当前模板已经是“默认”了,又怎么能单独分配给“首页”呢?这就需要灵活处理一下:我们用“偷梁换柱”法。简单举例:我们将一个白馒头称呼为“馒头”,另外再做一个一模一样的,叫做“馍馍”,没见过的人以为是两样东西,看过之后就会骂:靠!猫叫了个咪咪啊,蒙谁呢?
也就是说,我们将“默认模板”复制一份,但是必须换名字,否则 Joomla!
不会认为是“两个不同的模板”。我们只改名字,而不用修改样式,因此就会产生两个不同名称、相同风格的模板。然后将其中一个分配给首页。这还没完,因为这
时候样式还是完全一样的,我们必须针对分配给首页的那个模板作出某些修改,才能完成任务。
|
评论
赞一个
首页显示一篇文章,在这篇文章里 划分表格,分别调用模块就行. ddfchina.org 这个站就是这么做的
评论的 RSS 供稿.