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>
Клайв
источник