visualselect.class.php
31 lines
| 1 | <?php |
| 2 | |
| 3 | /** |
| 4 | * Class Auxin_SiteOrigin_Field_Visualselect |
| 5 | */ |
| 6 | class Auxin_SiteOrigin_Field_Visualselect extends SiteOrigin_Widget_Field_Base { |
| 7 | |
| 8 | protected $options; |
| 9 | |
| 10 | protected function render_field( $value, $instance ) { |
| 11 | |
| 12 | $output = '<div class="aux-element-field aux-visual-selector">'; |
| 13 | $output .= '<select class="meta-select visual-select-wrapper" name="' . $this->element_name . '" id="' . $this->element_id . '" value="' . $value . '" >'; |
| 14 | |
| 15 | foreach ( $this->options as $id => $option_info ) { |
| 16 | $active_attr = ( $value == $id ) ? ' selected ' : ""; |
| 17 | $data_class = isset( $option_info['css_class'] ) && !empty( $option_info['css_class'] ) ? 'data-class="'. $option_info['css_class'].'"' : ''; |
| 18 | $data_symbol = empty( $data_class ) && isset( $option_info['image'] ) && ! empty( $option_info['image'] ) ? 'data-symbol="'. $option_info['image'].'"' : ''; |
| 19 | $output .= sprintf( '<option value="%s" %s %s %s>%s</option>', $id, $active_attr, $data_symbol, $data_class, $option_info['label'] ); |
| 20 | } |
| 21 | |
| 22 | $output .= '</select></div>'; |
| 23 | |
| 24 | echo $output; |
| 25 | } |
| 26 | |
| 27 | protected function sanitize_field_input( $value, $instance ) { |
| 28 | return $value; |
| 29 | } |
| 30 | } |
| 31 |