登录 注册

登录

不论你用 Joomla! 建造的是企业网站、政府网站,还是学校网站、个人博客,至少都要用到 Joomla! 的文章系统(com_content)来发布新闻、通告、教程、日志,甚至是科研论文、小说故事等等。文章多了之后,你肯定希望有一个模块来展示文章标题链接。尽管 Joomla! 已经自带了“Latest News”和“Popular News”两个模块,但是很多人发现其功能远远不能满足各种网站的需求。

举一个最简单例子:如果你希望“最新文章”模块中列出文章标题同时,还要列出发表日期,它就做不到!而很多新闻网站都需要在新闻标题前面或后面同时显示日期,这么基本的功能都没有,真不明白 Joomla! Team 的人在想什么!

再比如:你可能希望新闻标题前方还显示所在类别名称,像这样:

10月09日  [教育] 17岁女学生结伴堕胎无愧色,笑称“很酷”

10月10日 [健康] 卫生部出台奶粉中三聚氰胺最低含量标准

10月11日 [社会] 河北省政府就三鹿奶粉事件公开道歉

10月13日 [娱乐] 众多明星纷纷抛弃中国国籍为哪般?

这种样式相信大家在诸如“新浪”、“搜狐”等新闻网站都见过,但是 Joomla! 自带的文章展示模块根本做不到!

这两点要求几乎代表了绝大多数用户对 Joomla! 文章展示模块的期望。还有人希望同时展示文章插图缩略图;有人希望标题滚动;有人希望标题下方附带一点内容;有人希望鼠标指向标题时浮现出内容摘要;有人希望从指定单元、类别中随机提取文章…… 这些要求过分吗?不过分!用户永远是对的!既然 Joomla! 官方团队忙得顾不上改进文章展示模块,于是就有许多第三方模块来填补这个空白。用户们也就开始到处寻找符合自己需要的展示模块。累!

我之所以把 Display News by BK 文章展示模块称为“史上最牛”,是因为它独自可以实现上述种种文章展示要求!神奇吧?且待我慢慢道来。

 

第一次拿到 Display News by BK 模块时首先被它的参数所震撼 —— 一共 69 个参数!我几乎快要放弃汉化它的念头,心想作者(by BK 就是指作者姓名是“BK”)太变态了吧,一个文章展示模块有必要搞这么复杂吗?当我仔细看完所有参数之后,再次被作者震撼:强大而全面的功能几乎将所有文章展示需要一网打尽!

 

一、Display News by BK 提取文章的来源

1、按单元、类别

Display News 模块除了像 Latest News 模块那样可以指定单元或/及类别,还有一个改进之处:当你指定了 A 单元之后,还可以用输入 ID 的方式继续添加 B、C、D 等其它单元;你也可以在指定 A 单元同时,只挑选 B 单元中的 b1 类别及 C 单元中的 c1、c2 类别;你也可以指定要 A 单元,但是不要其中开头5篇文章(按发表时间排序);

2、按作者

有两种方式:指定作者或者自动匹配作者。

前者很好理解,你输入作者 ID 即可,其他作者的文章就不会显示。

“自动匹配”有两种模式,一种是“与当前文章作者相同”,意思是:假设你不是在网站首页,而是正在阅读一篇由余秋雨写的文章,那么模块中就自动显示余秋雨的其他文章;接下来你切换到下一页,是由王蒙撰写的一篇杂文,则该模块中只显示由王蒙撰写的文章。注意:是同一个模块,是自动依照当前文章作者来提取文章,而不是手动添加或者多个模块!

另一种“自动匹配作者”的模式是“参照文章标题或内容”。这个就更牛了!比如说,你正在阅读由作者“白建鹏”撰写的文章,标题是“我十分想念余秋雨”,那么模块探测到文章标题中“余秋雨”三个字与站内其他一些文章的作者名称一致,就会自动展示由“余秋雨”撰写的文章;或者当前文章标题是“第38届茅盾文学奖颁奖仪式在京召开”,在文章内容中提到了出席会议的很多作家姓名,其中有“余秋雨”的名字,而站内正好有“余秋雨”撰写的文章,那么此模块就自动提取“余秋雨”的文章来展示!

3、按时间

Display News by BK 模块把时间条件设置得很详细:可以分别指定年、月、日,比如你只显示 2007 年文章,或者只显示“今年文章”,意思是:如果现在是2008年,就显示2008年内容,到了2009年1月1日0时0分,就自动切换到显示2009年文章,以前的文章一个都不显示!同样,月份参数也是如此。

“日”的限制只有两种:“今天”或者“全部”,前者只显示今日新闻,过了午夜零点则前日文章就“下架”,哪怕新的一天还没有文章也不会显示“旧新闻”。如果选择后者,则显示所选月份中每一天的文章。

用户还可以“指定日期范围”,例如只显示最近7天内的文章,那么不管当前日期是哪一天,模块中只显示最近7天的文章。

 

二、Display News by BK 显示文章的排序方式

  1. 按时间:最新的在前,或者最旧的在前;
  2. 按点击:被阅读最多的在前,或者很少阅读的在前;
  3. 按文章标题字母顺序排序:这个对英文文章标题可能比较有用;
  4. 按评分:比如你的文章用 Extra Vote 插件来允许读者评分,则模块中可以显示评分高的在前,或者评分低的在前;
  5. 按投票:解释一下,“投票”指投票次数。例如一篇文章 articile-1 评分有4分,但是只有两人投过票;另一篇文章 article-2 平均得分3分,但是有10人投过票。那么,如果按评分最高在前,则 article-1 在前面;如果按投票最高在前,则 article-2 在前面。
  6. 随机:这个不用解释了吧?就是没道理,乱排。我认为“随机”方式比较公平,每个文章都有被展示的机会。不会造成“强者恒强,弱者恒弱”。

三、Display News by BK 显示的内容

1、文章标题

展示文章标题是文章展示模块的最起码要求。Display News 模块对标题还有更细的设置:是否允许标题链接?是否限定标题长度?是否允许较长的标题分两行显示?是否在标题后面再显示“阅读全文”链接?以及自定义“阅读全文”的说法和该链接的浮动提示(个人认为这一项有点“脱了裤子放屁”的感觉,如果文章标题本身就是指向全文的链接,何必多此一举?)。

2、文章标题+内容提要(带图像或不带)

Display News 可以在显示文章标题之后,在标题下方接着显示部分文章内容,可以选择“简介文字(Intro Text)”,也可以选择“文章全文”。还可以通过限定字数来限制内容的长度。这个“字数”有两种方式,一个是按“字符数”,一个是按“词汇数”,对于中文来说都一样,但是在英文文章中就有区别。

你还可以选择这部分内容提要是作为文本显示,还是作为链接显示。如果选择链接,则点击之后转到全文页面。

在显示文章内容同时,你还可以选择是否显示图像。如果要显示图像,你还可以指定图像尺寸:原样大小,或者宽度固定调整高度,或者高度固定调整宽度。

3、更多文章(More ...)

很多人都在寻找一个“带有 More ... 的文章展示模块”,而 Display News by BK 就提供了。这个 More 还是自动的:如果你指定的文章来源是某个单元,则 More 链接就指向该单元;如果是类别,就指向该类别。如果你正在阅读某个文章的全文页面,则模块上的“More ...”自动指向该文章所在类别的文章列表页面。

4、自动探测单元/类别

Display News 模块可以自动探测它所在的页面所属的单元、类别,然后只显示那个单元或类别中的文章。如果模块位于某个单元页面,就显示该单元中的文章;如果模块位于某个类别页面,就只显示该类别中的文章;如果是位于某个文章全文页面,就只显示与该文章属于同一个类别中的其它文章。在非文章展示页面上(首页、组件页面及 typed content 页面),就显示全部单元及类别中的指定数量的文章。

四、Display News by BK 的展示样式

1、自定义字串格式

此模块有一个“格式字串”参数,可以自定义显示哪些内容。默认是:

%s - %c<br>%t <br>%a - %d<br>%i

可选的变量有(注意:必须是小写字母):

%s - 单元

%c - 类别

%d - 日期

%a - 作者

%t - 标题

%h - 点击

%r - 评分

 %i  - 文本

%f - 此变量在新版本已经停用

另外,这个字串中还能使用 HTML 标记,例如默认字串中的 <br> 就表示换行。你也可以自由运用其它 HTML 标记来丰富外观样式。

我们在文章开始所举的例子,其字串格式就可以写成:

%d  [%c] %t

就代表了:日期 [类别名称] 文章标题

通过以上变量的组合,你想怎么展示都可以。

提醒一下:如果你只要标题,不想展示文章内容,那么就不要在字串中插入 %I 这个代表文章内容的变量;有些人想要将“内容长度”限制为 0 来达到“不显示内容”的目的,恰恰错了,0 长度表示不限制,也就是说,会将全文内容都提取到模块中来。

那么,从我们文章开头的例子来看,日期是“10月09日”的格式,如果只插入 %d 变量,模块怎么知道我们想要 2008-10-09 还是 10月9日 ? 这就需要 ——

2、自定义日期格式

在参数中有一项“日期格式”,你完全可以自己定义想要的日期显示样式,例如:

2008年10月13日 星期一

2008-10-13

10月13日

10-13

2008/10/13

10/13/2008

13/10/2008

等等。

此处定义日期格式的语法是标准的 php strftime() 函数语法,你自己根据需要设置吧。至于 %Y %B 这些日期格式变量代表什么意思,请参看:http://www.phpe.net/manual/function.strftime.php 。

3、模块标题及介绍文字

小的网站可能会直接用“最新文章”来作为模块标题,但是对于大型网站,可能就要分类别来展示文章,同时模块标题也要改变。Display News 模块允许用户手动指定模块标题,例如“国内新闻”、“行业动态”、“娱乐八卦”等等,也可以自动选择模块标题:如果当前页面是单元页面,就显示单元名称;如果是类别页面,就显示类别名称;如果是文章的全文页面,就显示该文章所属的类别名称。

你可以选择这些作为模块标题的“单元名称”或者“类别名称”是否显示为链接形式。

另外,你还可以指定在模块标题前面或后面插入固定的“前缀文字”或者“后缀文字”。

Display News 模块还允许用户插入一段模块介绍文字。

你还可以在模块底部插入一个“自定义链接”,链接标题和URL 都由用户选择。

4、自定义CSS 方案

Display News 模块自带了4 种 CSS 方案,你还可以通过 设置模块 CSS 类后缀 来进一步个性化其样式。

5、滚动展示

也有其它模块提供了滚动展示文章标题的功能。但是 Display News 模块把滚动功能做绝了:你可以选择 4 个滚动方向(上、下、左、右)中任何一个,你可以自定义滚动速度和暂停时间。你还可以指定滚动窗口的高度。我想不出还有对滚动进行改进的什么参数。

 

五、Display News by BK 模块存在的不足

1、不能“只显示图像”

有很多人希望某个模块只滚动展示文章中的插图,没有文字,点击图片就转到全文页面。用 Display News by BK 模块当前版本(v1.5.10)还不能实现。因为没有专门定义“图片”的格式字串变量。我提议作者增加一个 %p 来表示文章中第一幅插图。这样就可以实现:在“格式字串”中只填写 %p,显示图片选择“是”,指定图像宽度或高度固定,选择“图片链接到全文”,再启用“滚动”。OK?

我已经在 Display News by BK Project Tracker 中提出了这个建议。

2、没有幻灯片式切换展示

滚动(Scroll)是指内容连续不断的流动过去,而幻灯放映(Slide Show)是显示一段内容,然后全部擦除,重新展示新的内容(常用淡隐淡出效果)。目前 Display News by BK 模块还没有这个功能。如果有了幻灯模式,我们将展示数量设为“1”,并展示“标题+部分文字+图像”,那么将完全替代其它的幻灯式 News Flash 模块。

3、没有“相关文章”功能

如果能够根据文章的 Meta Keywords 来判断文章是否相关,或者根据文章内容中的词汇密度来智能判断,从而列出“相关文章”,那么这个模块就更完美了。

六、Display News by BK 模块的灵活运用

1、网站首页

网站首页一般是综合性质的,文章展示一般按类别进行。你可以借助“模块复制”功能,得到 N 个 Display News by BK 模块,每一个都展示不同的类别。如果你网站首页空间比较有限,可以借助 JooTabs 多模块叠加展示模块 把多个 Display News 模块变成“标签页”式叠放来节省空间。

如果你懂得 Joomla! 模板设计技术,那么可以设计出“中国式版面的文章列表首页”模式,然后用多个 Display News 模块来分别展示各类别文章,就能做到像“太平洋”、“中关村在线”那种门户网站模样的首页。

2、二级文章页面

进入网站内部后,尤其是在文章全文阅读页面上,旁边的模块最好用作“该作者的其他文章”展示,或者“该类别中其他文章”,或者“相关文章”,或者“只能匹配作者”,甚至是“随机展示同类文章”,这样可以吸引读者进一步点击下去。

对 Display News by BK 模块的简单介绍就到这里。如果你对此模块还有什么性能建议,请到 Joomla! 中文论坛 提出;如果你能用英文发帖,我更希望你到它的官方网站提出来 ——

你想要你就说啊,你不说作者怎么知道你想要呢?

 

{quickdown:1147}

 

{quickdown:608}

 

  1. 评论 (22)

  2. Add Yours

评论 (22)

这里还没有人发表评论
  1. 陈坤

用了感觉不错。不过有个问题:我想在主页显示所有更新,在其他二级页面显示当前页面下的更新,怎么能够实现?
白总有没有好的方法啊?

  附件
您无权查看附件
 
  1. cie0812

對不起我還是新手,到底要怎麼安裝中文版的 搞不懂 orz 求高手指點一二

  附件
您无权查看附件
 
  1. wangfeng_my

跟着顶下,不错。希望白老大努力给我们更好的好资料呀

  附件
您无权查看附件
 
  1. Doit

我仅仅用该模块来显示滚动新闻,感觉还比较好用地说!文字的处理上比较满意了。<br /><br />其他功能没有研究。那位大侠进一步研究下,出个升级版本!对诸位相当佩服。

  附件
您无权查看附件
 
  1. wzh500

假设我的单元1下面有两个分类,分类1和分类2<br />分类1下面有两篇文章,文章1和文章2<br />分类2下面有一篇文章,文章3<br />我想显示成<br />--分类1<br />--分类2<br />以及显示成<br />--分类1<br />----文章1<br />----文章2<br />--分类2<br />----文章3<br...

假设我的单元1下面有两个分类,分类1和分类2<br />分类1下面有两篇文章,文章1和文章2<br />分类2下面有一篇文章,文章3<br />我想显示成<br />--分类1<br />--分类2<br />以及显示成<br />--分类1<br />----文章1<br />----文章2<br />--分类2<br />----文章3<br />这两种情况应该怎么设置呢?

阅读全文
  附件
您无权查看附件
 
  1. DeadFire

我用这个模块的时候标题截取长度的时候有乱码,大家遇到过么,或者有什么解决方法我找不到。<br /><br />有了解的朋友能给我点帮助么。

  附件
您无权查看附件
 
  1. jjyjjyjjy

非常好用的模块,要想实现自己期待的效果,还需要进一步开发,包括css和images.<br />好东西,但用起来不是非常容易。研究中。。。

  附件
您无权查看附件
 
  1. rally

谁能解决一下限制显示字数的时候末尾出现乱码的问题?如果内容是英文的话,能正常工作,如果是中文的,选择以字符限制,末尾就会出现乱码,如果选择以词限制,该功能则失效.

  附件
您无权查看附件
 
  1. baron917    rally

这个应该是截取函数使用有误,开发的人是基于英文环境开发的,中文截取函数应该要考虑到UTF-8这种编码方式

  附件
您无权查看附件
 
  1. popoguy

这篇文章越读越有味道,很多事情是一层窗户纸,没有高人点拔,会一直搞不懂的!<br />谢谢作者!

  附件
您无权查看附件
 
  1. 那仨牛

评论里边的黑底问号乱码应该是评论组件开了类似“自动换行”功能造成的吧?

  附件
您无权查看附件
 
加载更多

免费下载最新Joomla!核心中文版

扫描此二维码,立即开始下载 Joomla 3 核心中文版

付费下载汉化版扩展

付费后即可下载独家海量

Joomla! CMS 扩展汉化版

了解付费会员制度

点击这里给我发消息

了解 joomlagate.com 网站的付费会员制度