刚刚升级完毕,一切都乱糟糟的:)
通过利用 views 模块制作“按月归档”的页面和区块(block)来讨论一下 argument 的使用。Drupal 其实有按月归档这个模块,叫做 Monthly Archive , 是 Mars 做的,不过用 views 模块实现这样的功能也不难。我的 blog 的侧边栏就是一个实例,点击 “blog 归档” 下面的“更多”就可以进入按月归档的页面,看到所有 blog 内容的档案。
开工。 在 views 的管理界面下点击“add”标签,添加新的视图。名称是 Archive ,给所有的访客访问的权限,描述随意。然后“页面”项下选择 provide page view,提供页面视图, url 按照惯例是 archive。 viwe type 随意,我这里选择的是习惯的 teaser list,标题“按月归档”。使用 pager (分页)。其它的默认即可。
继续我们解剖 tracker 视图的教程。我们知道 Tracker 模块提供的 trakcer 视图,除了能显示所有的最新文章外,还能显示已登录用户的所有文章,这两项内容在 tracker 页面下的两个标签(Tab)中显示。 其实,views 模块可以方便帮助我们制作标签。首先我们创建“所有最新文章”标签下的视图。这个与我们在上两个教程中讨论的 trakcer 视图的设置基本相同,但是需要做一个小的更改,首先把 url 改为 tracker/all ;同时,按照习惯,把这个 views 的名称命名为 tracker_all。然后在 menu 项下勾选: provide menu; provide menu as tab; make default menu tab。这是在告诉 views 模块,这个视图提供菜单,菜单输出为标签,把这个标签当作默认显示的标签。
Field 项是 views 模块的最终要部分,直接控制着输出视图的显示方式。一个典型的 tracker 页面由以下部分组成:
页面类型 标题 作者 回复数目 最新回复时间
可以参看 Drupal China 的 tracker 范例。所以,在 field 项里,我们需要做的就是按照需求选取字段 (field)。第一个要选取的就是 页面类型。在 Add Field 菜单中找到 Node:Type 点击添加,Node:Type 就出现在 field 项下了,然后我们要做一些设置, Label 就是这一项在列表中的显示名称,填入“页面类型”(英文版的 views 默认的是 Type)即可。Sortable 是设定是否按照这个字段排序,这里选择 no,如果选择 yes ,那么在 Default Sort 那里要选择默认的排序方式。
Drupal 的基本组成部分是 Node, 外加 Node 的附属 Comment。对于一般的使用者来说,Node 是不可分割的;即便是熟练的使用者,在使用 Node 的各个字段时也会觉得非常的麻烦,而 Views 就可以方便的解决这个问题,从 Node 中提取你需要的字段,按照你希望的方式展示,并过滤掉你不希望出现的内容,Views 的工作流程可以用下图表示:
在明白这个流程后,让我们来解剖一个 Views 的实例,使用的样本是 Views 模块自带的 Tracker 视图。Drupal 的 Tracker 通常是 Tracker 模块提供,可以通过 yoursite.com/tracker 来跟踪网站最新的内容。但是有了 Views 模块,我们可以在不启动 Tracker 模块的情况下实现 Tracker 的效果。
安装 views 模块就不多说了,和其他的模块一样,上传,启动,然后在 Administrater -> Site Building 下可以找到 views 的配置页面(如下图所示)。
最上面的标签分别对应着 列表 添加 导入 主题向导 工具。“列表”标签下列出了所有已创建的视图。views 模块自带了四个常用的视图,分别是:“最新评论”,“首页”,“分类词”和“最新文章”。如果你自己添加了新的视图,它们将会单独列出(如下图):
懒了很久,终于动笔写这个教程,α 版。
打个比方来说明一下 Views 的作用: Drupal 的核心就像一个毛坯房,墙窗户门都有了,也简单的粉刷过了,搬进来也能住;外观主题 (Theme)就像室内装修,可以按照自己的喜好来铺地板或是地毯,选择各种各样喜欢的墙纸(现在装修还需要墙纸么?hoho,俺对装修的概念还停留在10年前^_^)等等;模块呢,就好比家具,电器之类的,有了模块可以方便实现各种方便的功能,大部分模块都像冰箱电视一样,启动,摆在那里就行了,但是有些模块可以说是大工程,譬如 CCK,可以让你建设新屋子,有些是中等工程,譬如 views,它可以打掉你屋子之间的墙,改变屋子的格局,Drupal 的是建立在 node 上的,而views 的核心功能就是帮助你改变 node 的组织与显示模式。
每篇 blog 下面的“相关链接”可以方便的给blog读者更多的相关信息。在 Drupal 4.5 之前的年代,这项功能是通过 awTags 完成的,但是先在 awTags 已经湮灭了;在 Drupal 4.6 和 4.7 的年代,这项功能是通过 Flexiblock + Related Nodes实现的,但是现在这两个模块都停止更新了。所以在 Drupal 5.1 的年代,我们必须寻找其他的“相关链接”的解决方案,并且这个方案要“可持续发展”,不然过一段时间就要重头来过。于是这次就用 php code 和 Related Links 解决了这个问题。着手解决这个问题其实可以分三步:1) 找到能生成相关链接的模块;2)想办法把生成的block摆在内容的正下方;3)CSS 美化。
今天 Drupal 的Contributor们推出了一款非常实用的模块:Update Status。它通过 cron job 从 Drupal 总站的服务器端获取信息,可以检测你正在使用的模块是否有新的正式发布版。这样就大大的节省了站点维护的时间,不用经常的去查询已安装模块的升级信息了。同时,这个模块还在管理界面里直接提供了更新模块的下载链接,非常的方便。呵呵,据说这个模块会加入 Drupal 6.0 的核心模块中去。推荐安装一试。
Drupal的Spam模块虽然功能强大,但是其运作原理类似先将spam吃掉,然后再消化(先把spam甄别出来,设置为“未发表”状态,然后在运行 cron job 的时候将其删除),这样一来还是比较耗费资源,所以决定还是用 Captcha 模块。4.7 版本的 Captcha 模块重新做了调整,为了适应没有安装 GD 的用户使用,Captcha 将原有功能分解为两个功能:数字运算 Captcha 和 TextImage Captcha。所谓数字运算,就是说在留言时必须计算一道数学题,用来证明是真人在留言;而 TextImage 则和通行的Captcha系统一样,通过辨认图片上的字母来填写留言。后者需要同时安装一个单独的 TextImage 模块。呵呵,希望这下子可以更好的阻挡 Spam。因为用来 Captcha,所以决定暂时停止 Spam 模块,并且不再要求留言时填写 Email ,希望不给留言增加麻烦。
Spam模块的4.7版本终于发布了,在这个垃圾横飞的互联网星球上,方便人们交流的comment,trackback等功能很容易遭到垃圾信息的侵袭,一夜之间可能突然多了上千条色情网站广告的评论,让人不胜其烦。而 Drupal 的Spam 模块很好的解决了这个问题,在 4.6版本下使用起来的效果非常好,但是 4.7 版本的开发直道上周才完成,在这里可以下载,由于许可的问题,这个模块无法在Drupal的主站下载。注意安装以后需要运行 update.php 来升级旧的数据库。
另外一个今天有了新的更新的模块是 Trackback 模块。但是还没有 4.7 的正式版,我试了一下已经可以用了,但是需要自己写一个升级旧的数据库的脚本,我写了一个,如下,保存为 trackback.install 放入 trackback 的目录下即可。
Recent comments
8 hours 33 min ago
1 day 6 hours ago
1 day 21 hours ago
5 days 18 hours ago
1 week 13 hours ago
1 week 1 day ago
1 week 4 days ago
2 weeks 1 day ago
2 weeks 1 day ago
2 weeks 2 days ago