Drupal 7 开发内部培训资料, 分头诗人

Context

模块地址: http://drupal.org/project/context
模块版本: Drupal 7.xDrupal 6.x
用户数: 58 979
依赖:
模块类型: 内容 内容显示

Context 模块的功能其实和区块设置 (visibility) 很相似
就是“根据某些条件”显示“某些区块”
例如,在“用户页面”显示“用户的资料区块”
所以,加入你发觉你的区块设定变得很复杂而且维护很困难的时候
你便应该要用 Context 模块了

Context 已经成为一个 Drupal 网站不可缺少的模块了。
重要程度比 Panels 还高一点。

介绍 Context 的用法前
需要先了解 Context 模块的一些新概念:

 

Condition

就是条件,例如“所有用户页面”,“全部页面”
条件的选择很多,而且是多选,其中一个条件符合,这个 Context 就 “成立”了
也可以“Require all conditions”,全部条件符合才成立
Menu - 页面是菜单的项目之一
Context - 页面符合另一个 context
Node type - 页面是一个内容类型
Taxonomy - 页面是一个分类的页面
Path - 指定一些路径 (和 block visibility settings 一样用法)
User Role - 使用者的角色
User page - 用户页面,可以细分用户设置页面,注册页面等
Views - 页面是来自一个 views
Site wide context - 每一个页面都符合。

Reaction

 

Reactions 是指条件符合之后的动作
以区块的例子来说,reactions 便是 blocks
你会看到你的 theme 有的 regions,你可以点右边的 block
按左边的 regions 的“+ Add”区块便会移到 regions 下面了

 

其余的 reactions 有:
Breadcrumb - 修改 breadcrumb
Debug - 显示 context 除错资讯
Theme - 设定增加 page.tpl.php 的三个自定参数
Menu - 设定菜单 active 的项目

Context
其实是指一个框架,一个有条件的框架
Context 模块定义出这些有条件的框架
在根据框架的 Reactive 作出相对的动作

最后,很方便的是, Features 模块支持 context!