Drupal 6 Модуль поиска двойных идентификаторов [закрыт]


9

В настоящее время я занят сайтом для клиента. Этот сайт должен быть одобрен W3C. Возникла проблема на странице поиска сайта с двойным идентификатором:

<div class="form-item" id="edit-keys-wrapper">
  <label for="edit-keys">Enter your keywords: </label>
  <div class="container-inline"><div class="form-item" id="edit-keys-wrapper">
  <input type="text" maxlength="255" name="keys" id="edit-keys" size="40" value="" class="form-text" />
</div>

ID: id="edit-keys-wrapper"появляется два раза! Это не разрешено W3C.

Я скачал и установил чистый Drupal 6.28, чтобы убедиться, что это не ошибка темы.

Есть ли патч для этой "проблемы"? Если нет, что является лучшим вариантом, чтобы исправить это, не разрушая ядро?

Ответы:


10

Я могу подтвердить, что это происходит из коробки вплоть до 6.25.

Вы можете просто «исправить» это с помощью следующего кода:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_form') {
    unset($form['basic']['#id']);
  }
}

Это дает эту разметку вместо старой:

<div class="form-item">
  <label>Enter your keywords: </label>
  <div class="container-inline">
    <div class="form-item" id="edit-keys-wrapper">
      <input type="text" maxlength="255" name="keys" id="edit-keys" size="40" value="book" class="form-text error">
    </div>
    <input type="submit" name="op" id="edit-submit" value="Search" class="form-submit">
  </div>
</div>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.