Опросы в ЖЖ

Давно хотел написать, о том, как делать опросы в ЖЖ и вчерашний опрос, который мне удалось сделать нормально только с третьего раза, подтолкнул меня к этому.

В отличие от всех остальных команд, команды опроса в ЖЖ компилируются. После публикации поста опрос превращается в команду вроде <lj-poll-1814095> и ничего в нём изменить уже нельзя. Поэтому, если после публикации поста с опросом вы обнаружите орфографическую ошибку в опросе, исправить её уже не получится. Единственный выход — создать новый опрос и вставить в пост, однако при этом результаты опроса обнулятся. Но и это ещё не всё. Опрос нельзя создать при редактировании поста — он компилируется при первой публикации. Поэтому единственный способ заменить опрос, это создать временный пост с опросом, опубликовать его, затем зайти в редактирование, взять оттуда код опроса и заменить им код опроса в уже опубликованном посте.

Для создания опроса можно воспользоваться мастером http://www.livejournal.com/poll/create.bml, но удобней делать опрос в виде HTML-команд ЖЖ. Вот пример опроса:

<lj-poll name=’Название опроса’ whovote=’all’ whoview=’all’>
<lj-pq type=’radio’>
Есть ли в жизни счастье?
<lj-pi>Да</lj-pi>
<lj-pi>Нет</lj-pi>
<lj-pi>Не знаю</lj-pi>
</lj-pq>
</lj-poll>

Готовый опрос, полученный из этого кода выглядит так (можете голосовать, кстати):

При создании опроса имеет смысл где-нибудь сохранить этот код, потому что, как я уже говорил, после публикации он пропадёт.

Поле name=’Название опроса’ необязательное. В поле whovote могут быть значения ‘all’ и ‘friends’, однако значение ‘friends’ не очень применимо, потому что в таком опросе смогут голосовать только взаимные друзья.

В поле type указывается тип опроса: ‘radio’ — круглые кнопки с возможностью выбора только одного варианта ответа, ‘check’ — можно выбирать несколько вариантов, ‘Scale’ — ввод числа в указанном диапазоне, ‘text’ — ввод текста, ‘drop’ — выбор из списка.

В одном опросе могут быть сразу несколько опросов одного или разных типов. Например, вот так будет выглядеть опрос из двух пунктов с выбором пола из списка:

<lj-poll whovote=’all’ whoview=’all’>
<lj-pq type=’radio’>
Есть ли в жизни счастье?
<lj-pi>Да</lj-pi>
<lj-pi>Нет</lj-pi>
<lj-pi>Не знаю</lj-pi>
</lj-pq>
<lj-pq type=’drop’>
Укажите ваш пол
<lj-pi>Мужской</lj-pi>
<lj-pi>Женский</lj-pi>
</lj-pq>
</lj-poll>

Результат выглядит так:

Сложные опросы удобно сначала смоделировать в мастере, а потом уже наполнять осмысленными текстами в HTML’е.

Когда в опрос нужно вставить картинки, всё становится совсем грустно — кнопки опроса будут не по центру, а внизу картинки. Чтобы кнопки были по центру картинок можно воспользоваться хитростью, которую я подсмотрел у tema:

<lj-pi>Текст <img vspace=»10″ align=»middle» src=»путь к картинке» /></lj-pi>

при этом нельзя пользоваться другой разметкой текста, в частности нельзя делать ссылки на пользователей ЖЖ — если это сделать, Жжшный человечек отвалится от имени пользователя и будет не по центру картинки, а снизу.

Вот так всё непросто с опросами в ЖЖ.


Leave a Reply