您必须将问题分为两部分:
- 表格填写部分,将所有词汇表一起提供给编辑器。
- 内容显示部分,您将能够分离词汇表。
我将在这里更多地介绍第二部分,关于显示。
使用CCK 计算域模块并为您要显示的每个词汇创建一个域。将此字段放置在您想要的位置。
配置每个字段如下:
- 在Computed Code上,输入如下内容:
# 从其管理 URL (/admin/content/taxonomy/edit/vocabulary/[VOCABULARY_ID]) 获取词汇 ID 并在此处设置:
$node_field[0]['value'] = "5";
# 另外,在显示字段上将此字段配置为“原始文本”
- 在Display Format上,使用这个:
$vocabulary_id=$node_field_item['value'];
$terms=taxonomy_node_get_terms_by_vocabulary($element['#node'], $vocabulary_id);
foreach ($terms as $tid => $details) {
# taxonomy_get_textual_term_hierarchy_by_id() 在 SolutionHub 的主题 template.php 文件上实现
$textualTerms .= taxonomy_get_textual_term_hierarchy_by_id($tid);
}
if (isset($textualTerms)) {
$显示='';
$display.=$textualTerms;
$display.='';
}
taxonomy_get_textual_term_hierarchy_by_id() 函数特定于我的站点,并在 DRUPAL_ROOT/sites/default/themes/mytheme/template.php 中定义,并以一种奇特的方式简单地重写分类术语文本以显示其整个沿袭。所以我会得到类似“食物>沙漠>水果>苹果”的东西,而不是“苹果”。我不会在这里粘贴它,因为它超出了范围。
如果您的问题是在编辑表单中重新定位词汇表,我建议您使用 Content Taxonomy 模块。