我正在尝试为旅行社创建 Drupal 网站,需要您的帮助。
我将位置存储在具有层次结构的分类中,结构如下所示:
- 欧洲
- 法国
- 巴黎
- 德国
- 柏林
- 法国
- 欧洲
我正在使用带有“具有分类术语(具有深度)”过滤器的视图,显示为选择框。
- “在下拉列表中显示层次结构”已启用
它工作正常,但随着位置数量的增加,选择框开始变得非常大。
所以我的问题是:是否可以在选择框中仅显示分类的第一级和第二级?或者是否可以在单独的选择框中显示分类的每个级别?
谢谢!
我正在尝试为旅行社创建 Drupal 网站,需要您的帮助。
我将位置存储在具有层次结构的分类中,结构如下所示:
我正在使用带有“具有分类术语(具有深度)”过滤器的视图,显示为选择框。
它工作正常,但随着位置数量的增加,选择框开始变得非常大。
所以我的问题是:是否可以在选择框中仅显示分类的第一级和第二级?或者是否可以在单独的选择框中显示分类的每个级别?
谢谢!
“是否可以在单独的选择框中显示分类的每个级别?” 我见过的唯一可能对您有用的模块是 Hierarchical Select 模块。http://drupal.org/project/hierarchical_select
使用分层选择模块创建选择列表。这将为您提供一个在所有子元素前面带有“-”符号的层次结构。然后您可以使用 hook_form_alter 函数更改表单。
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
if (($form_id == 'your_form_id')) {
foreach ($form['tid']['#options'] as $term_key => $term) {
// Check if this is a child by looking for '-' as first char in string
$term_value = reset($term->option);
if($term_value[0] == '-') {
unset($form['tid']['#options'][$term_key]);
}
}
}
}