Подвійний ідентифікатор пошукового модуля 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="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.