Темизация webform checkboxes input

Главные вкладки

Аватар пользователя postgres postgres 23 июня 2015 в 17:12

На страницу формы через ajax call-back подгружается контент.

Подгружается методом replace в элемент '#type' = 'radios'

<?php
function myhook_form_alter(&$form, &$form_state$form_id)
// ...
$options =  create_options($color$thik$wh); 
$res  = array(
    
'#type' => 'checkboxes',
    
'#prefix' => '<div id="products">',
    
'#default_value' => 0,
    
'#options' => $options,
    
'#suffix' => '</div>',
    
'#pre_render' => array('options_preprocess'),
    
'#attributes' => array('class'=>array('asc')),
 );

$form['submitted']['result'] = $res;
}
// ...

function search_callback($form, &$form_state){
   return 
$form['submitted']['result'];
}

?>

Все работает нормально. Но появилась необходимость показывать изначально полный неотфильтрованный список. не вопрос, сделал начальную инициализацию $options - тоже работает конечно, НО!
поплыла верстка checkbox'ов.

Оказалось что когда контент отдает сама форма, то чеки (input) заворачиваются в обертку:

<div id="uniform-edit-submitted-result-1201" class="checker"><span><input class="asc form-checkbox" id="edit-submitted-result-1201" name="submitted[result][1201]" value="1201" type="checkbox"></span></div>

а когда контент возвращает ajax, через search_callback, то

<input class="asc form-checkbox" id="edit-submitted-result-1201--2" name="submitted[result][1201]" value="1201" type="checkbox">

то есть без обертки в div.
в pre_render массив элемента в обеих случаях идентичен и поправить нечего. В массиве #theme_wrappers единственный элемент "checkboxes"
Так что тогда смотреть, куда копать?
Хочу добиться одинакового вывода и при начальной инициализации и при ajax запросе.

Комментарии

Аватар пользователя postgres postgres 23 июня 2015 в 18:38

ну вот стал вчитываться в то что написал и сразу вижу причину - "uniform".
jQuery uniform.

Он включен не как бихэйвор, а через document.ready(), то есть срабатывает только один раз при первой загрузке страницы.
А потом по ajax не срабатывает. Мне кстати не нравится как оформляет кнопки uniform, и не понятно где можно темизировать его вывод...