频道栏目
读书频道 > web开发 > php > Drupal 7宝典
7.2.2 管理和配置区块
2012-09-10 14:57:49     我来说两句
收藏   我要投稿

本文所属图书 > Drupal 7宝典

Drupal是当前风头正劲的开源内容管理系统(contentmanagement system,CMS)崛起大潮中的佼佼者。希日夫等编著的《Drupal7宝典》的宗旨是希望您在阅读后对Dnlpal系统所能实现的操作有更深层次的理解,并在使用Dmp...  立即去当当网订购

对区块的管理通常包括启用、禁用区块和为区块指定区域等任务。在配置区块时,启用或禁用区块以及更改每个主题的所在区域等操作的主要目的是控制它们何时显示,而不是在哪里显示。
技巧

在区块管理器主屏幕中操作时,只有单击了页面底部的Save blocks按钮后,所做的更改才会生效。

区块管理器屏幕(见图7-4)主要包括下列几个关键条目:

● Per-theme tabs(主题专属标签):页面的右上方包含了一组标签,每个标签对应一个活跃的主题。点击每个标签即可快速进入该主题的区块配置。

● Page header(页头):在此区域中有一个有用的工具可以精准地介绍每个区块:

Demonstrate block regions(区块演示)链接。每次更改一个不同的主题标签时,此链接的名称就会更新为当前主题的名称。建议花些时间研究一下每个主题的区域安排。

● Add block link(添加区块链接):单击此链接会进入添加区块Web表单,通过此表单可以定义新区块。此表单和本章后面要介绍的区块配置表单类似。

提示

如要创建包含PHP代码的区块,需要先在模块管理区域中启用PHP filter(PHP过滤器)模块,并进入Configuration或People管理区域,安排一个或多个角色有使用PHP代码文本过滤器的权限。

● Regions and blocks grid(区域和区块网格):在该页面中的Add block链接后面可看到区域和区块网格。网格有以下几点内容:

• Show row heights link(显示行重的链接):如果单击此条目,网格会新增一个标签为Weight(权重)的列。权重值控制了区块在给定区域中的相对显示顺序。一个权重是-10的区块会显示在权重是-5、0或是1的区块前面。换句话说,负数的值越大,区块显示的优先级就越高。默认的模式是通过拖拽来设定区块的顺序,这是一种更为简单而清晰的办法。

• Block列:此列用粗体列出了所有区域以及区域中的区块(如果有的话)。在网格底部可看到一个特殊区域,名为Disabled。在此处可以找到所有当前被禁用的区块。

• Region列:此列包含了所有可选的区域值列表。在下拉列表中选择某区域名字,即可将此区块安排到此区域,也可以选择None以禁用此区块。

• Operations列:大部分情况下,此列只包含配置链接。如果此区块可以被删除,还可看到删除链接。

技巧

大部分区块是不能被删除的,因为它们安装在内核模块或贡献模块的代码中。但是,管理员在系统中创建的区块是可以被删除的。切记所有区块的删除都是永久性的,要小心处理。

在区块配置屏幕中可以创建和配置区块。图7-5展示了此屏幕的3个区;此图当前展示的是用户登录区块的配置。
 


 

区块的创建和配置屏幕包括3个部分:区块描述、标题和内容;区域设置以及可见性设置。这些条目都包含在以下每个部分中:

● Block description(区块描述):此字段仅在创建区块时可见。它的值是区块在区块管理器中的唯一标识,也是创建新区块时的必填字段。

● Block title(区块标题):此选填值允许您为区块指定标题。该标题将在网站界面中展示。

● Block body(区块内容):此字段仅在创建新区块时可见。此字段的内容会在发布的网站中展示。如果内容是PHP,则在区块展示时会执行PHP并输出结果。

技巧

一般情况下,当启用内核模块或贡献模块时,会将新的区块添加到系统中。所以在每次添加新模块或重新启用之前被禁用的模块时应查看一下区块管理器。

● Region settings(区域设置):此部分与区块管理器主屏幕的部分功能是相同的,但它可以更精确地查看所有活跃主题下的当前区块的区域安排。

● Visibility settings(可见性设置):此部分是控制区块在不同用户和内容上下文环境中显示的配置标签组。这些可见性设置的标签如下所示:

• Show pages(显示页面):使用此设置来控制区块在哪些页面上显示。共有如下几个选项:除所列页面外在所有页面中显示(需要列出要排除的路径);仅在列出的页面中显示(需要列出包含的路径);如果启用了PHP过滤器,则在PHP代码返回TRUE的页面上显示。

下面是一个简单PHP测试的示例,如果数字5大于数字2则返回TRUE:<?php return (5 > 2) ? TRUE : FALSE; ?>。一个更加实际的例子是:测试当前URL是否包含一个单词或短语如“news”:<?php return (strpos($_SERVER['REQUEST_URI'], "news") > -1) ? TRUE : FALSE; ?>。此处可以举很多的例子,但在使用时要小心,因为这个高级功能同时也有潜在风险。

技巧

可在Drupal社区的文档中找到更多使用PHP代码控制区块显示的例子http://drupal.org/node/ 60317。

● Show content types(显示内容类型):在此标签中可指定区块对哪些内容类型可见。例如可使区块仅在文章页面上显示。如果不选择任何内容类型,系统将在所有内容类型的页面显示此区块。

● Show roles(显示角色):在此标签中可以选择哪些角色能够查看此区块。如果不选择任何角色,所有角色均可查看此区块。

技巧

如果仅将某给定区块显示给未授权的访问者,可配置此区块仅对匿名用户角色可见。Drupal使用角色来辨别用户的认证状态,而不是通过登录和注销的状态来区分。

● Show users(显示用户):在此标签中可设定站点中哪些用户可查看此区块,并控制是否为默认显示。默认设置下用户不能控制区块的可见性。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:7.2.1 理解关键概念
下一篇:7.3 介绍默认区块
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站