跳转到主要内容
laoxue 提交于 6 April 2014

在利用drupal设计网站的实践中,有时候需要实现级联选择功能,如组织机构中的单位名称和部门名称,部门属于一个单位。我们在选择部门值时,必须先选择其所属的单位值。另外,我们在新增一篇文章时,希望将这篇文章所属的单位和部门值保存下来,便于今后的查询过滤。这些值是和文章作者的信息一一对应的,不能暴露给添加人员自由选择,否则就破坏了这种一一对应关系。所以,我们可以在用户账户资料中增加所属单位和部门的字段,在新增文章保存时,自动将单位和部门值填充到文章中。

1、安装必要插件。

下载安装computed_field-7.x-1.0和hierarchical_select-7.x-3.0-alpha6这两个模块并启用。

2、创建分类词汇“单位和部门”。

在结构—分类 中添加一个词汇表:部门或单位:

说明: http://img.blog.csdn.net/20140406120034453?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

  添加术语后,调整层级关系,形成术语列表如下图:

说明: http://img.blog.csdn.net/20140406120043187?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

3、配置用户账户,添加“单位和部门”字段。

 进入配置-用户-帐户设置-管理字段 页面,添加一个字段:“部门和单位”,如下图:

说明: http://img.blog.csdn.net/20140406121449968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

继续编辑,在“微件类型”选项卡里按下图设置:

说明: http://img.blog.csdn.net/20140406121816265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

在Save lineage中选择第一项Save 术语 lineagege,其他选项不动。

4、设置级联选项。

说明: http://img.blog.csdn.net/20140406122222468?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

编辑用户资料。选择所属的单位和部门:

说明: http://img.blog.csdn.net/20140406130455890?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

5、在内容类型中添加自动填充字段。

在内容类型中分别添加单位和部门字段,字段类型和控件都选择“computed”:

说明: http://img.blog.csdn.net/20140406130957750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

6、对自动填充值进行设置。

在“单位”的ComputedCode (PHP)设置栏输入以下代码:

说明: http://img.blog.csdn.net/20140406132828828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

在“部门”的ComputedCode (PHP)设置栏输入以下代码:

说明: http://img.blog.csdn.net/20140406132836750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

新增或编辑一篇文章,系统自动添加发布人所在单位和部门名称。如:

说明: http://img.blog.csdn.net/20140406133506312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFveHVlNjY5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

Drupal 版本