it-swarm.asia

Optgroup في drupal 7 حقل القائمة

الآن لدي مثل

1 | اسم المدينة
2 | اسم مدينة آخر
3 | اسم بلدة صغيرة

في مجال القيم عند تكوين مجال نوع المحتويات

كيف يمكنني لف بعضها في مجموعة ستظهر باسم "optgroup" في HTML الذي تم إنشاؤه؟

6
Konstantin Bodnia

يمكنك استخدام hook_FORM_ID_alter ثم قم بإضافة كود مثل هذا:

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

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

باستخدام نماذج واجهة برمجة التطبيقات داخل وظيفة hook_form-alter ، يمكنك إنشاء مجموعة من الوالدين والطفل ثم drupal_render سيعرض القائمة المنسدلة.

    <? 
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;
    }
}
?>
5
B Ravanbakhsh

هناك وحدة لهذا يسمى optgroup select . يمكنك تجربة هذه الوحدة.

PS: أنا مشرف الوحدة النمطية.

0
Ram