Drupal 6搜索模块的双ID [关闭]


9

我目前正在忙于一个客户网站。该网站必须经过W3C验证。该站点的搜索页面上出现一个带有双重ID的问题:

<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,以确保它不是主题错误。

这个“问题”是否有补丁?如果没有,那么在不破坏内核的情况下解决此问题的最佳选择是什么?

Answers:


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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.