Как поменять местами в webform description и input т.е. должен идти такой порядок label, description, input (textarea, textfield, checkbox и т.п.) на drupal.org наковырял такой код все отлично работает, меняет местами как надо только одно НО: лейбл в checkbox становится не активным т.е. каждый раз надо кликать на сам checkbox, а не на лейбл. А у меня по дизайну он спрятан, помогите сделать его кликабельным
<?php/**
* Replacement for theme_form_element().
*/
function bmc_zen_form_element($element, $value) {
$wrapper_classes = array(
'form-item',
);
$output = '<div class="' . implode(' ', $wrapper_classes) . '" id="' . $element['#id'] . '-wrapper">' . "\n";
$required = !empty($element['#required']) ? '<span class="form-required" title="' . t('This field is required.') . '">*</span>' : '';
if (!empty($element['#title'])) {
$title = $element['#title'];
$output .= ' <label for="' . $element['#id'] . '">' . t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n";
}
//not every element looks right with the description above it.
If (array_key_exists('#webform_component',$element) && $element['#type']!='checkbox'){
if (!empty($element['#description'])) {
$output .= ' <div class="description">' . $element['#description'] . "</div>\n";
}
$output .= '<div id="' . $element['#id'] . '">' . $value . '</div>' . "\n";
} else {
$output .= '<div id="' . $element['#id'] . '">' . $value . '</div>' . "\n";
if (!empty($element['#description'])) {
$output .= ' <div class="description">' . $element['#description'] . "</div>\n";
}
}
$output .= "</div>\n";
return $output;
}?>
Комментарии
нашел проблему к div добавлялся такой же класс как и к label. Терерь рабочий код
<?php/**
* Replacement for theme_form_element().
*/
function YOURTHEME_form_element($element, $value) {
$wrapper_classes = array(
'form-item',
);
$output = '<div class="' . implode(' ', $wrapper_classes) . '" id="' . $element['#id'] . '-wrapper">' . "\n";
$required = !empty($element['#required']) ? '<span class="form-required" title="' . t('This field is required.') . '">*</span>' : '';
if (!empty($element['#title']) && ($element['#title_display'] != 'none')) {
$title = $element['#title'];
$output .= ' <label for="' . $element['#id'] . '">'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n";
}
//not every element looks right with the description above it.
If (array_key_exists('#webform_component',$element) && $element['#type']!='checkbox'){
if (!empty($element['#description'])) {
$output .= ' <div class="description">' . $element['#description'] . "</div>\n";
}
$output .= '<div id="' . $element['#id'] . '-wrap">' . $value . '</div>' . "\n";
} else {
$output .= '<div id="' . $element['#id'] . '-wrap">' . $value . '</div>' . "\n";
if (!empty($element['#description'])) {
$output .= ' <div class="description">' . $element['#description'] . "</div>\n";
}
}
$output .= "</div>\n";
return $output;
}?>