ВопросУбрать div class="description" из Fivestar

Уже голову сломал над вопросом. Виджет Fivestar со звездами выводится в Div`е с классом "description". Фиг бы с ним, но Яндекс (непереводимый русский мат) выхватывает для сниппета товара фразу из этого чертового описания! И в поисковой выдаче выходит: "Товар такой-то, Ваша оценка: 4 (20 голосов)". Еще бы, семантическая разметка сама говорит поисковику, что тут описание!

Я облазил весь модуль Fivestar но так и не нашел, где выводится этот тег. К сожалению, я не программист, читать код запросто не умею. Искал "description" и менял на другое - 0. Попробую автозаменой заменить div на другой тег и вычислить эту пакость. С робкой надеждой на помощь, может сталкивался кто-то?

Комментарии

Аватар пользователя Coolbits
Coolbits написал:

В продолжении темы. После долгих боев нашел виновника - form.inc в папке includes
Div с классом "description" выводился там. Знаю, что некошерно, но поменял название класса там. Может есть и более элегантные решения, мне полегчало так. Все формы работают по прежнему как надо, но ненужного класса больше нет. А класс "description" лучше приберечь для описания товара.

22.12.2011 18:05
Аватар пользователя Spleshka
Spleshka написал:

Скажите, а какая версия Друпала? Надо посмотреть будет.

22.12.2011 18:37
Аватар пользователя Coolbits
Coolbits написал:

6.22

22.12.2011 19:37
Аватар пользователя Coolbits
Coolbits написал:

Там чистым html черным по-белому div class="description" в нескольких местах, так что найдете сразу. Я еще когда сайт запускал заметил в коде этот класс. Мне это сразу не понравилось, полдня просидел, ничего не нашел. Но жизнь, как говорится, заставила...:)

22.12.2011 19:42
Аватар пользователя Spleshka
Spleshka написал:

Поставил fivestar. У меня там только 1 раз обнаружился класс description, и то для подсказок к звёздам:

<div class="description">
  <div class="fivestar-summary fivestar-summary-combo fivestar-feedback-enabled">
    <span class="empty">No votes yet</span>
  </div>
</div>

Вам именно этот класс надо убрать? Больше нигде я его не нашёл..

24.12.2011 16:06
Аватар пользователя Coolbits
Coolbits написал:

Да, именно в подписи к звездам его и надо убрать!

26.12.2011 08:16
Аватар пользователя Spleshka
Spleshka написал:

Вам надо в модуле немного изменить форму fivestar:

/**
 * Implementation of hook_form_alter()
 */
function ИМЯМОДУЛЯ_form_alter(&$form, &$form_state, $form_id) {
  if (stripos($form_id, 'fivestar_form_node') !== FALSE) {
    $form['vote']['description'] = array(
      '#value' => $form['vote']['#description'],
      '#weight' => 10,
    );
    unset($form['vote']['#description']);
    unset($form['vote']['#attributes']);
  }
}

А затем в template.php темы добавить таких пару строк:

/**
 * Override default theme_fivestar().
 */
function ИМЯТЕМЫ_fivestar($element) {
  return theme('form_element', $element, $element['#children']);
}
26.12.2011 17:29
Аватар пользователя Coolbits
Coolbits написал:

Большое спасибо!

27.12.2011 13:23
Аватар пользователя hakuna
hakuna написал:

та же проблема, не понял как лечить :(

30.05.2013 19:49

Комментировать