首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳实践是有一个“类别”字段,管理员可以在其中选择用户可以选择的声音

最佳实践是有一个“类别”字段,管理员可以在其中选择用户可以选择的声音
EN

Drupal用户
提问于 2011-03-21 23:05:14
回答 3查看 157关注 0票数 2

我有一个内容类型,需要一个“类别”字段;这既可以是分类法词汇表,也可以是文本字段(对于select小部件),这并不重要。(我一次只会有5-6个声音。)

但是,随着时间的推移,这些声音可能会发生变化,正常用户在创建新节点时应该只能选择很少的值。

实现这一目标的最佳做法是什么?

我的想法是使用分类法词汇表,其中只有管理员才能插入新的声音,但我需要某种属性(例如布尔值),以便在hook_form_alter()中对它们进行筛选。这会是实现这一目标的一种方式吗?

EN

回答 3

Drupal用户

回答已采纳

发布于 2011-03-22 02:02:24

您可以使用Node引用字段,其中您的“声音”是只有管理员才能创建的节点,这样您就可以限制节点引用字段设置中允许的最大“声音”数量,并且可以通过取消发布来关闭“声音”,或者如果您需要节点输出的布尔值,您只需在“Voice”节点上添加一个复选框文本字段,然后使用Custom Formatters模块根据您的意愿将Node引用字段呈现出来。

票数 1
EN

Drupal用户

发布于 2011-03-22 06:56:13

我会用分类学术语来形容声音。在这里,我看到了两个选项来存储它们的启用/禁用状态。您可以添加一个自定义表(使用模式API)和tidstate列。或者,如果您只有几个启用的声音,可以使用一个配置变量(variable_get & cie.)。在后一种情况下,添加一个配置页面/表单以让管理员选择启用的语音对于system_settings_form来说很容易。您还可以修改taxonomy_form_term表单,以向语音词汇表中的术语添加状态表单字段和自定义提交处理程序。

一旦存储了已启用/禁用的声音状态,就可以使用hook_form_alter来更改分类法表单字段并限制其允许值。当使用当前禁用的语音编辑现有节点时,您必须做出决定。要么允许它保留该声音,要么强迫它使用已启用的声音。

票数 1
EN

Drupal用户

发布于 2011-03-22 01:51:39

词汇表中的每个术语都有一个“权重字段”,以便进行自定义排序。这可以让你设定一个特定的条款顺序。你确定你需要布尔值吗?我想这是为了激活和停用列表中显示的声音?您可以删除该术语,但这将使该术语在使用该术语的节点上成为孤儿。

在节点发布后,使用一个固定的“计算字段”可能会更好。http://drupal.org/project/computed_字段

允许管理员编辑分类法可能比允许他们编辑CCK选择列表更安全。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/1125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档