Drupal 6 Podwójny moduł wyszukiwania [zamknięty]

9

Obecnie jestem zajęty stroną internetową dla klienta. Ta strona musi być zatwierdzona przez W3C. Na stronie wyszukiwania witryny wystąpił problem z podwójnym identyfikatorem:

<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"pojawia się dwa razy! To nie jest dozwolone W3C.

Pobrałem i zainstalowałem czysty Drupal 6.28, aby mieć pewność, że nie jest to błąd motywu.

Czy istnieje łatka dla tego „problemu”? Jeśli nie, jaka jest najlepsza opcja, aby to naprawić bez niszczenia rdzenia?

Jeroen Bijl
źródło

Odpowiedzi:

10

Mogę potwierdzić, że dzieje się to po wyjęciu z pudełka aż do co najmniej 6,25.

Możesz to „naprawić” po prostu za pomocą następującego kodu:

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

To daje ten znacznik zamiast starego:

<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>
Clive
źródło