布拉格

什么是Views-drupal模组教程

Drupal 的另一个杀手级工具: views 相比cck, views 的概念简单得多 但使用复杂得多 一个Drupal 的site, 由很多很多nodes 组成 但很多时候, 一个页面总不会只有一个node 例如首页, 当然要有列表列出最新的nodes 将nodes 用某条件 (如更新顺序排列) 组织起来就是views 的工作 但组织nodes 的方法何其多 而且views 又不知何, 放了一隻脚到显示的控制之内 令views 的介面复杂起来 成为Drupal 之内最复杂的模组 一个view 内分 page, block, fields, arguments, filter, exposed filters, sorting 六个大分类 前三个和显示相关 后四个是组织nodes 的方式 因为显示和控制混在一起 设定views 便得小心点 先处理好控制 再处理显示 arguments, filter, exposed filters, sorting 是一组用逻辑 AND ("和") 串成的选择 例如有node 1到10 argument 只选1到6 filter 选3到9 exposed filter 选 4到7 最后的结果便只有 4到6 这三个node [img]/files/2007/06/view.filters.gif[/img] arguments 是一个利用url 选择node 的方式 例如 node/1 这个网址path 有个"1" 指定了只显示node id 为"1" 的node 这种选择的方式称为arguments (但这个例子是由drupal 内核提供, 非views) 又例如你可以设定 url 为 year/2007 便会选择更新日期为2007 年的nodes 你可以看成是一个条件, 而这个条件是由url path 提供的 filter, 顾名思义 一个内建的选择器 一般会有一个filter "己发佈" 的要求 令选出来的都是"己发佈" 的node 或可以限制taxonomy terms 在某一或某几个terms 之内 做出一个"教学专用页", "日记专用页"等等 exposed filter 从filter 的选择器中 选出一个或多个filter 将选择用select list 的形式 开放给使用者自行筛选 sorting 怎样将结果排序 更新时间顺序? 逆序? id? 完成好控制后 决定你的结果怎样显示 页面形式或作一区块都可以 分别设定page 或(和)block 它们都有一个select list, 有full node, teaser view, list view, table 选择 就是这部份混合了显示方式 full node, 使用那node 的content-type template显示 (如有) teaser view, 使用views theme wizard 的teaser template (如有) list view, 一个简单的列表(unordered list), 使用views theme wizard 的template (如有) table view, 也很直观 要留意的是table, list view 是要选择要显示的fields 只选了id 就只会有id 栏 有关views 的显示部分, 特别是templates 因为复杂得多, 不能放到"初始"一类, 所以另文再详述

Forums: