xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Модуль Poll Blocks — блоки для опросов

Опубликовано в

Описание

Модуль Poll Blocks расширяет возможности стандартного модуля Poll и создаёт по блоку на каждый активный опубликованный опрос. Сам Poll как известно умеет выводить блок только с последним созданным опросом.

Страница управления блоками

Установка и использование

Установка стандартная — распаковать в sites/all/modules, включить.

После включения, на странице admin/structure/block помимо дефолтного блока Most recent poll, появятся блоки с префиксом "Poll: ".

Написанное актуально для Drupal 7
Похожие записи

Комментарии RSS

Подскажите, пожалуйста, чтобы анонимные пользователи могли голосовать, необходимо отключить "Кэширование блоков"?

не обязательно

Сейчас проверяю, "Кэширование блоков" включено. Как аноним я уже проголосовал в опросе. Обновляю страницу и вижу снова незаполненный опрос (главное что меня интересует - это так и будет с включенным кэшированием блоков?). Пробую снова проголосовать, но результат не меняется, т.к. скорее всего засчиталось моё первое голосование.

после голосования юзеру ставится кука, кэширование с этой кукой не работает. насколько помню было так

или вы про конкретно этот модуль спрашиваете?

Нет, вообще про модуль Poll
Почему-то аноним видит блок не с результатами своего голосования, а видит блок так, как-будто он еще не голосовал.
Вот блок в правой колонке hdays.ru/chastushki попробуйте проголосовать, а потом обновить страницу

Если отключить кэширование блоков, то всё стает нормально. Но наверно это сильно скажется на производительности.

код из файла poll.module:

  if (!$user->uid) {
    // The vote is recorded so the user gets the result view instead of the
    // voting form when viewing the poll. Saving a value in $_SESSION has the
    // convenient side effect of preventing the user from hitting the page
    // cache. When anonymous voting is allowed, the page cache should only
    // contain the voting form, not the results.
    $_SESSION['poll_vote'][$node->nid] = $choice;
  }

в комментарии описан кокраз ваш случай. значит это фича :)

P.S. хотя проверил на локалке, всё нормально. попробуйте ajax poll отключить

Всё ясно, большое спасибо за разъяснения. Попробую отключить кэширование блоков и понаблюдаю за производительностью.

ajax poll отключил, ничего не поменялось.

не подскажите, как можно отключить блок из отображения после того, как пользователь проголосовал?

Здравствуйте! Хотел поинтересоваться (конечно может не совсем по теме)... Как сделать так, чтобы, проголосовав (и обновив страницу), пользователь видел тот же список с вариантами... а не результаты голосования? Чтобы увидеть результаты - то нужно перейти по ссылке "результаты"... ну вот просто именно этот вариант нужен! плиз!

Если у меня 100-200 опросов, то это чудо будет размножать блоки до бесконечности?

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании