Optgroup trong trường danh sách drupal 7


6

Bây giờ tôi đang thích

1 | Tên thành phố
2 | Tên thành phố khác
3 | Tên thị trấn nhỏ

trong trường giá trị khi tạo trường loại nội dung

Làm cách nào tôi có thể gói một số trong số chúng trong một nhóm sẽ xuất hiện dưới dạng nhóm opt opt ​​Nhóm trong html được tạo?

Câu trả lời:


13

bạn có thể sử dụng hook_FORM_ID_alter và sau đó thêm mã như thế này:

$form['FIELDNAME']['#options'] = array (

   'parent1' => array(
      3 => 'child1',
      4 => 'child2',
      5 => 'child3',
    ),
    'parent2' => array(
      8 => 'child1',
      9 => 'child2',
    ),
);

Làm cách nào tôi cũng có thể thêm tham số #multipl vào phần tử được chọn khi sử dụng optgroups. Khi tôi thử nó, hộp chọn của tôi chuyển sang một loạt các hộp kiểm với mảng tiêu đề (). Tôi đã thử thêm nhiều dưới dạng một thuộc tính nhưng sau đó drupal không nhận ra bất kỳ lựa chọn nào và từ chối biểu mẫu như thể tôi đã không chọn được một tùy chọn.
PrestonDocks

5

sử dụng biểu mẫu api bên trong hàm hook_form-thay đổi, bạn có thể tạo mảng cha-con sau đó drupal numnder sẽ hiển thị thả xuống.

    <? 
function mymodule_form_alter(&$form, &$form_state, $form_id) {     

    if ($form['#form_id'] == 'my_nodetype_node_form') {    
    $parents = taxonomy_get_tree($vid = 2 /*vocaulary ID*/, $parent = 0, $max_depth = 1);

    foreach ($parents as $term) {
      $options[$term->name] = array();
      $children = taxonomy_get_tree($term->vid, $term->tid);

      foreach ($children as $child) {
        $options[$term->name][$child->tid] = $child->name;
      }
    }
    //echo '<pre>';print_r($options);die;
    $form['the_taxonomy_terms_field']['und']['#options'] = $options;
    }
}
?>

Cảm ơn Clive. Tiết kiệm cho tôi 1/2 giờ làm việc! Tôi có thể thú nhận, chỉ cần bắt gặp bản sao dán một trong những câu trả lời của bạn một lần nữa để đóng một nhiệm vụ. PS: Tôi đã làm việc một chút bằng cách đăng bình luận này ... và rõ ràng là thay đổi form_id và tên trường của tham chiếu thuật ngữ ... và hoán đổi biến $ vid cho một hằng số trong hàm gọi tới taxonomy_get_tree vì vocab này được sử dụng ở những nơi khác cho tương tác nodequeue và như vậy. Nhưng heck, bạn vẫn làm hầu hết các công việc !!! Cảm ơn bạn. ;)
stefgosselin

0

Có mô-đun cho cái gọi là optgroup chọn . Bạn có thể thử mô-đun đó.

PS: Tôi là người duy trì mô-đun.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.