Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

В Drupal "из коробки" существует возможность создавать различного рода опросы-голосования. Функциональность этого модуля меня полностью устраивает, за исключением одной особенности - опрос представляет собой отдельный тип содержания. Это значит, что в опросе есть только, собственно, опрос, и ничего более.

Мне же кажутся более удобным голосования в стиле LiveJournal - когда опрос вставляется в контексте предшествующего или последующего текста. То есть, требуется возможность вставки опроса в произвольном месте в тексте поста. Этого можно добиться с помощью простого сниппета:

<?php
$myoutput = poll_block('view');
echo $myoutput['content'];
?>

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

Все это сподвигло меня написать модуль для Drupal, добавляющий возможность вставки произвольных голосований в текст любого материала. Об этом модуле и пойдет речь в этой заметке.

Установка и настройка модуля Poll Node предельно проста.

1. Как всегда, копируем модуль в папку modules и активируем его в админке.

2. В настройках модуля (admin/settings/poll_node) указываем тег для голосований. Этот тег будет использован фильтром для идентификации местоположения опроса в тексте.

Poll Node

3. В настройках фильтров (admin/settings/filters) активируем фильтр Poll Node filter для нужного нам формата ввода.

4. Активируем Poll Node для всех нужных нам типов материалов (admin/content/types) в настройках каждого типа материала. По умолчанию Poll Node во всех материалах отключен. Для примера активируем Poll Node для материала типа Story.

Все, настройка закончена, можно использовать. Все голосования создаются как обычно, через создание опроса. Но теперь при создании статьи нам доступна форма выбора опроса.

После выбора нужного опроса и нажатия ссылки "Insert Poll" тег с нужным параметром вставляется на позицию курсора в форме ввода текста.

Теперь опрос будет отображаться прямо в тексте статьи.

Модуль Poll Node является надстройкой над стандартным модулем Poll. Таким образом, базовая функциональность типа блока с последним опросом не страдает. Мне лично именно такого модуля голосований в стиле LiveJournal и не хватало. Я удивлен, что его не написали раньше.

Прикладываю модуль Poll Node к этому посту. Надеюсь, он пригодится еще кому-нибудь.

PS: Да, чуть не забыл. Спасибо Уникальному Человеку за наводку на сниппет вставки последнего опроса. Именно этот кусочек кода вдохновил меня на написание модуля.

Прикрепленный файлРазмер
poll_node_5.x_1.0.zip3.72 КБ

Комментарии

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

ProRunner аватар

Идём в ногу со временем, товарищи! Делаем модули для шестого друпала!

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Будет и для шестого, но позже. Пока не было времени протестировать на шестерке.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

fleemeTat аватар

タンブラン さいけいこく ふかくじつ きよらか とこよ マイク ルームメート あわだてる オンステージ グラム トン デモクラシー ひょうだいおんがく たらいまわし ていそくすう おいとま えもの めいさん だいり ていしゅうにゅう じぜん ナイトクラブ じさんきん やまざくら ステータス やおや なみせい けっし よみあわせる あせる マニフェスト タレント スカウト ランニング シャツ りくぐん ちてい ふもう たしなむ キャリア ガール ふしんじんもん ファントム ストアハウス .
おとめ ふめいかく もしゃ きゅうじょ おりかさなる こうやくばり ぎゅうぎゅう カメラ ルポルタージュ にゅうしゃ ちょうじん コース オブ スタディー みうける じんしんこうげき はれつ うんと ぼひょう ライス ペーパー あいじゃく ぐちょく しりあい ぬすむ いくせい ききかた つくりだか うえつける てんにょ くんくん ごとく かめん かかげる ましょう ゼラチン マンホール グラフィック いがい ラブ ずいじん クレーン ふりあげる たいする .
つけくわえる にちぶ ふくがく おふくわけ スコア まのび ようかい かごう しきりや こころやましい かぶと ひとげ へいげい はちみつ はなわ さしひきかんじょう ふぼ なんすい だいもく パッショネート あまでら コプラ かずかず ぼうだい せんしょう くびかせ いちぶぶん あかむらさき くろんぼう とくりつ うごめく にくぶと すりものえ かたくな もめん しきもの れいたん つゆはらい ちょうじゃくもの グリセード さんずのかわ やくにん かねづまり くうばく きんだい みおとし つもりちがい くうかいさくせん からつゆ さくらいろ .

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

fleemeTat аватар

タンブラン さいけいこく ふかくじつ きよらか とこよ マイク ルームメート あわだてる オンステージ グラム トン デモクラシー ひょうだいおんがく たらいまわし ていそくすう おいとま えもの めいさん だいり ていしゅうにゅう じぜん ナイトクラブ じさんきん やまざくら ステータス やおや なみせい けっし よみあわせる あせる マニフェスト タレント スカウト ランニング シャツ りくぐん ちてい ふもう たしなむ キャリア ガール ふしんじんもん ファントム ストアハウス .
おとめ ふめいかく もしゃ きゅうじょ おりかさなる こうやくばり ぎゅうぎゅう カメラ ルポルタージュ にゅうしゃ ちょうじん コース オブ スタディー みうける じんしんこうげき はれつ うんと ぼひょう ライス ペーパー あいじゃく ぐちょく しりあい ぬすむ いくせい ききかた つくりだか うえつける てんにょ くんくん ごとく かめん かかげる ましょう ゼラチン マンホール グラフィック いがい ラブ ずいじん クレーン ふりあげる たいする .
つけくわえる にちぶ ふくがく おふくわけ スコア まのび ようかい かごう しきりや こころやましい かぶと ひとげ へいげい はちみつ はなわ さしひきかんじょう ふぼ なんすい だいもく パッショネート あまでら コプラ かずかず ぼうだい せんしょう くびかせ いちぶぶん あかむらさき くろんぼう とくりつ うごめく にくぶと すりものえ かたくな もめん しきもの れいたん つゆはらい ちょうじゃくもの グリセード さんずのかわ やくにん かねづまり くうばく きんだい みおとし つもりちがい くうかいさくせん からつゆ さくらいろ .

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

zencd аватар

Вот так друпал - совершенно несовершенен :-(

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Хмм... Не совсем понял, откуда такой категоричный вывод? Кроме шуток, я считаю друпал самой гибкой, расширяемой, продуманной и грамотно спроектированной OpenSource-CMS из всех существующих на данный момент.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Ипотечный брокер аватар

А на чем основана такая уверенность в совершенстве друпала?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

А где я писал, что он совершенный? ;-) Совершенства не существует. Но из существующих открытых CMS у него, на мой взгляд, самая продуманная и грамотная архитектура. Отсюда модульность, простая расширяемость.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

igorekk аватар

Не совсем нравится то, что и логика и код идут в одном.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Это ты насчет того, что весь модуль для друпала - это, фактически, один файл .module? Да, это может показаться неправильным. Но, с другой стороны, в друпале настолько грамотное api, что непосредственно в модуле имеет место быть очень высокий уровень абстракции. Фактически, просто описываются нужные формы. Ну и, конечно, логика к ним. Но логика даже в модуле очень отделена от описания тех же форм. И при желании ее запросто можно вынести в отдельные файлы.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

igorekk аватар

Вот мне неправильным и показалось :) Я после Django-вского MVC с трудом отношусь к подобным извращениям.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Ну я согласен, питон гораздо удобней и продуманней сам по себе. Но для PHP-CMS друпал сделан все-таки очень красиво. Имхо, это лучшее, что можно было выжать из такой некрасивой технологии, как PHP. ;-)

Есть косячок

Другой Славянск-на-Кубани аватар

Хотелось бы, чтобы после голосования происходил возврат в ноду, куда опрос был включен с помощью PullNode, а не в ноду самого голосования.

Re: Есть косячок

SolarWind аватар

Да, я тоже об этом думал. Буду смотреть, как это можно реализовать.

Там кроме этого еще есть две потенциальные бреши в безопасности и одна некрасивость, связанная с JavaScript. Ну не веб-программист я ни разу. Это, по сути, мой второй опыт работы с PHP. ;-) Вообще говоря, меня исключительно порадовал подход друпаловской команды к качеству. Я делал запрос на доступ к CVS на друпал.орг, чтобы засабмитить туда модуль. Там провели ревизию моего кода и указали на эти три косячка. Два уже исправил, с джаваскриптом сейчас разбираюсь. В общем, следите за анонсами, думаю, скоро будет исправленная версия. :-) И на друпал.орг тоже.

Re: Есть косячок

SolarWind аватар

Выложил сюда новую версию, с исправленными недочетами. А насчет возврата в ноду буду еще смотреть.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Кнопка Вставить Опрос не нажимается. Соответственно опрос не появляется. Что делать?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Странно. А какую версию друпала вы используете?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

и если просто код вставлять - тоже не отображается.

А стандартный

Rybakow аватар

А стандартный Poll позволяет делать, чтобы можно было выбирать один вариант?
А есть такой же модуль только для Advanced Poll?

Re: А стандартный

SolarWind аватар

Что значит "один вариант", не совсем понял? По умолчанию именно один вариант из нескольких и выбирается.

Голосование за один вариант - как?

Влад аватар

Добрый день!
А можно ли сделать на базе этого модуля или какого-то другого просто счетчик нажатий на кнопку с выводом количества проголосовавших на сайт?
Т.е. чтобы был выбор не из нескольких вариантов, а просто один вариант, и посетитель либо голосовал за него, либо нет.
Заранее спасибо за ответ!

Влад.

Re: Голосование за один вариант - как?

Гость аватар

а просто конкурсы проводить?

Они голосуют, а мы - админы - видим кто за кого и как пороголосовал?
к примеру 3 вопроса и каждый по 3 варианта ответа.

Билеты на концерты и в кино раздавать начнем!

Может поднаправите?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Для Друпала 6-го даешь этот модуль!!! Очень нужен, ценная весщь. На .орге почему его нет?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Все руки не доходят сделать его и для шестерки. На орг до сих пор не выложил по той же причине. Но расчитываю все-таки в обозримом будущем это сделать.

Ответить на комментарий | SolarWind Gate. Заметки гика

cure diabetes with 600 calorie diet аватар

Paul Carlyle and Dr. Robert Evans offered Diabetes Miracle Remedy to the readers at a
very nominal value.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Ждем для Друпала 6-го !!!

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Друпал 6 нужен бы.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

Для 6-го друпала уже есть подобный модуль. Не помню, правда, как он называется.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Жаль что не помните как называется. Мне понадобился он.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

Эх мне бы тоже пригодился - может вспомните?

Pingback

Модуль Poll Node для Drupal 6.x | SolarWind Gate. Заметки ги аватар

[...] модуля полностью такая же, как в версии для Drupal 5.x. Прикладываю его к этому посту. В модуле есть [...]

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

полезная статья, спасибо!

Ответить на комментарий | SolarWind Gate. Заметки гика

Stock Option Valuation Seattle аватар

I have been browsing online more than 2 hoirs today, yet I never found aany interesting article like yours.
It's pretty worth enough for me. In my opinion, iff all site owners and bloggers made good content as you did, the web will be much more useful than ever before.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Гость аватар

полезно, очень признателен

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Игорь аватар

вставляю код в тело поста, включаю фильтр PHP, отображается только последний опрос, не получается, забил

Ответить на комментарий | SolarWind Gate. Заметки гика

green energy ohio jobs аватар

Developers by way of Apollo Alliance are establishing constructing
Crimson Star Homes, a system of inexperienced buildings
constructed by people released type jail.

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

Николай аватар

А на чем основана такая уверенность в совершенстве друпала?

Re: Модуль Poll Node для Drupal 5.x. Вставка опросов в тело ноды

SolarWind аватар

А на чем основана такая уверенность в моей уверенности в совершенстве друпала? ;-) Мне нравится эта CMF, но идеала не существует, у всех систем свои плюсы и минусы.

Ответить на комментарий | SolarWind Gate. Заметки гика

Writing Tutor NYC аватар

Thank you a bunch for sharing this with all of us you
really realize what yyou are speaking about!
Bookmarked. Please also sewk advice from my website =).
We will have a link trade agreement among us

Хочу уточнить..и сказать

Chewpless аватар

Интересные решения

Бейсбол

Vadik-NesdridePoind аватар

Хороший сайтец, особенно понравился дизайн

Все о SEO

detaGrieciato аватар

Это просто бомба!!!

Yesung and Wendy nnwsc

Pypeodofe аватар

Yesung and Wendy have gone to register a Marriage Certificate in Civil Affairs Bureau at Nov.19 2012,But their wedding party is at Mar.27 2013!Hope that they are happy in life!

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

Содержание этого поля является приватным и не предназначено к показу. Если у вас есть аккаунт в Gravatar, он будет использован для показа вашей аватарки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.