Пример #1
0
 /**
  * Walk options
  *
  * @param mixed $meta
  * @param array $field
  * @param mixed $options
  * @param mixed $db_fields
  *
  * @return string
  */
 public static function walk($options, $db_fields, $meta, $field)
 {
     $attributes = call_user_func(array(RW_Meta_Box::get_class_name($field), 'get_attributes'), $field, $meta);
     $walker = new RWMB_Select_Walker($db_fields, $field, $meta);
     $output = sprintf('<select %s>', self::render_attributes($attributes));
     $output .= $walker->walk($options, $field['flatten'] ? -1 : 0);
     $output .= '</select>';
     $output .= self::get_select_all_html($field);
     return $output;
 }
Пример #2
0
 /**
  * Walk options
  *
  * @param mixed $meta
  * @param array $field
  * @param mixed $options
  * @param mixed $db_fields
  *
  * @return string
  */
 public static function walk($options, $db_fields, $meta, $field)
 {
     $attributes = call_user_func(array(RW_Meta_Box::get_class_name($field), 'get_attributes'), $field, $meta);
     $walker = new RWMB_Select_Walker($db_fields, $field, $meta);
     $output = sprintf('<select %s>', self::render_attributes($attributes));
     if (false === $field['multiple']) {
         $output .= isset($field['placeholder']) ? "<option value=''>{$field['placeholder']}</option>" : '<option></option>';
     }
     $output .= $walker->walk($options, $field['flatten'] ? -1 : 0);
     $output .= '</select>';
     $output .= self::get_select_all_html($field);
     return $output;
 }
Пример #3
0
 /**
  * Walk options
  *
  * @param mixed $meta
  * @param array $field
  * @param mixed $options
  * @param mixed $db_fields
  *
  * @return string
  */
 public static function walk($field, $options, $db_fields, $meta)
 {
     $attributes = self::call('get_attributes', $field, $meta);
     $walker = new RWMB_Select_Walker($db_fields, $field, $meta);
     $output = sprintf('<select %s>', self::render_attributes($attributes));
     if (false === $field['multiple']) {
         $output .= $field['placeholder'] ? '<option value="">' . esc_html($field['placeholder']) . '</option>' : '';
     }
     $output .= $walker->walk($options, $field['flatten'] ? -1 : 0);
     $output .= '</select>';
     $output .= self::get_select_all_html($field);
     return $output;
 }
 function display_level($options, $parent_id = 0, $active = false)
 {
     $id = $this->db_fields['id'];
     $field = $this->field;
     $walker = new RWMB_Select_Walker($this->db_fields, $field, $this->meta);
     $attributes = RWMB_Field::call('get_attributes', $field, $this->meta);
     $children = $options[$parent_id];
     $output = sprintf('<div class="rwmb-select-tree %s" data-parent-id="%s"><select %s>', $active ? '' : 'hidden', $parent_id, RWMB_Field::render_attributes($attributes));
     $output .= isset($field['placeholder']) ? "<option value=''>{$field['placeholder']}</option>" : '<option></option>';
     $output .= $walker->walk($children, -1);
     $output .= '</select>';
     foreach ($children as $c) {
         if (isset($options[$c->{$id}])) {
             $output .= $this->display_level($options, $c->{$id}, in_array($c->{$id}, $this->meta) && $active);
         }
     }
     $output .= '</div>';
     return $output;
 }