Здравствуйте.
Ситуация следующая:
Сайт построен на сборке openstore (drupal + ubercart). С недавнего времени возникла проблема: на любой страничке в админке, где присутствуют несколько radiobutton'ов, по умолчанию выбирается нижний.
К примеру, фильтром по умолчанию выбран full html, при создании\редактировании материала radiobutton становится активным на php filter.
И такая ситуация везде.
Пример кода:
<label class="option" for="edit-format-1"><input type="radio" id="edit-format-1" name="format" value="1" checked="checked" class="form-radio"> Filtered HTML</label>
<div class="description"><ul class="tips"><li>Адреса страниц и электронной почты автоматически преобразуются в ссылки.</li><li>Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><span><img><table><td><tr><th><tbody><caption><h1><h2><h3><h4><h5><h6><b></li><li>Строки и параграфы переносятся автоматически.</li></ul></div>
</div><div class="form-item" id="edit-format-2-wrapper">
<label class="option" for="edit-format-2"><input type="radio" id="edit-format-2" name="format" value="2" checked="checked" class="form-radio"> Full HTML</label>
<div class="description"><ul class="tips"><li>Адреса страниц и электронной почты автоматически преобразуются в ссылки.</li><li>Строки и параграфы переносятся автоматически.</li></ul></div>
</div><div class="form-item" id="edit-format-3-wrapper">
<label class="option" for="edit-format-3"><input type="radio" id="edit-format-3" name="format" value="3" checked="checked" class="form-radio"> PHP code</label>
<div class="description"><ul class="tips"><li>Вы можете размещать код PHP. Необходимо вставлять теги <?php ?>.</li></ul></div>
</div><p><a href="/filter/tips">Подробнее о форматировании</a></p></div>
</fieldset>
Может быть кто сталкивался с подобным? Какие могут быть мысли?
Вложение | Размер |
---|---|
error1.gif | 28.87 КБ |
error2.gif | 19.69 КБ |
Комментарии
Мда, все оказалось просто. Нашел базовый form.inc, нашел эту функцию
<?phpfunction theme_radio($element) {
_form_set_class($element, array('form-radio'));
$output = '<input type="radio" ';
$output .= 'id="'. $element['#id'] .'" ';
$output .= 'name="'. $element['#name'] .'" ';
$output .= 'value="'. $element['#return_value'] .'" ';
$output .= (check_plain($element['#value']) == $element['#return_value']) ? ' checked="checked" ' : ' ';
$output .= drupal_attributes($element['#attributes']) .' />';
if (!is_null($element['#title'])) {
$output = '<label class="option" for="'. $element['#id'] .'">'. $output .' '. $element['#title'] .'</label>';
}
unset($element['#title']);
return theme('form_element', $element, $output);
}
?>
И оказалось что в ней была лишняя строчка
$output .= ' checked="checked"';
Проблема решилась