Тема: Голосование. Как реализовать?
Как сделать голосование в блоге?
Вопросы, обсуждения и решение проблем при работе с Movable Type
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как сделать голосование в блоге?
http://www.eatdrinksleepmovabletype.com … _position/
Поставил. Установка прошла успешно. Создал опрос. Но он нигде не отображается :rolleyes:
Что сделать, чтобы отображался?
Практически любой плагин, который будет как-то задействован на сайте, нужно не просто установить, но и добавить в шаблоны теги плагина. Список тегов этого плагина: http://www.eatdrinksleepmovabletype.com … n/tags.php
http://www.eatdrinksleepmovabletype.com … figure.php
Не знаю английского, а электронный переводчик настолько коверкает что сути не понятно :(
Можете сказать поточнее в какой шаблон и куда именно в шаблоне вставлять теги?
Я бы сделал так:
1. Скачал плагин, загрузил на сервер в необходимые папки, установил на скрипт vote.cgi права 755. А затем сделал бы папку mt-static/plugins/PollPosition/ перезаписываемой. Обычно хватает прав 755, но может быть понадобится и 777.
2. Далее создал бы шаблон, на котором бы находился опрос/голосование. Я так уже делал с этим плагином, когда опрос выводится в отдельном индексном шаблоне. Для этого нужно просто создать новый индексный шаблон на основе главной страницы, вырезать оттуда всё лишнее, а затем добавить код плагина.
Потом необходимо добавить между тегами head (обычно они находятся в шаблоне HTML Head) следующую строчку:
<mt:Include module="YUI Javascript">
<script type="text/javascript" src="<mt:BlogURL>pollposition.js"></script>
3. Теперь, когда шаблон создан, необходимо добавить в него код плагина:
<mt:CompletePoll poll_id="123">
Где poll_id — это ID опроса.
Чтобы узнать ID, нужно сначала создать опрос.
Для этого нужно просто создать новый индексный шаблон на основе главной страницы, вырезать оттуда всё лишнее, а затем добавить код плагина.
- клонировал шаблон Главная страница index.html
- переименовал в Голосование
- вставил туда это:
<div class="poll-container" id="poll-1">
<div class="poll-question">
<p>What is your favorite color?</p>
</div>
<form id="poll-form-1" class="poll-form" name="poll-form-1" method="post" action="" onsubmit="return submitVote(1);">
<input type="hidden" name="__mode" value="save_poll_choice" />
<input type="hidden" name="poll_id" value="1" />
<input type="hidden" name="blog_id" value="1" />
<input type="hidden" name="type" id="type_1" value="poll" />
<input type="hidden" name="results_only" value="0" />
<div class="poll-choices">
<div class="poll-choice">
<input type="radio" class="poll-choice-option" id="poll-1-choice-0" name="poll_choice" value="0" /> <label for="poll-1-choice-0">Red</label>
</div>
<div class="poll-choice">
<input type="radio" class="poll-choice-option" id="poll-1-choice-1" name="poll_choice" value="1" /> <label for="poll-1-choice-1">Green</label>
</div>
</div>
<input type="submit" class="poll-submit" id="poll-submit-1" value="Submit" />
<p class="view-results-link"><a href="javascript:viewResults(1);">View results</a></p>
</form>
<div class="poll-results" id="poll-results-1"></div>
<script type="text/javascript">
checkVote(1);
</script>
</div>
Потом необходимо добавить между тегами head (обычно они находятся в шаблоне HTML Head) следующую строчку:
где это? нигде не нашел head :(
нигде не нашел head
Шаблоны -> HTML Head
Только в склонированный шаблон нужно вставлять не уже готовый код, а тег шаблона — <mt:CompletePoll poll_id="123">
А у меня как-то криво плагин этот работает. Генерирует ссылку на картинку с графиком, но файла самого в папке cache нет. Права на папку 777 стоят. На vote.cgi - 755. Чего это может быть?
Возможно, в конфиге не указана директива StaticFilePath: http://www.movabletype.org/documentatio … epath.html
Да, действительно, сходу не обратил внимания, что StaticFilePath и StaticWebPath не одно и тоже. Заработало. Спасибо! :)
Думаю как прикрутить к записи опрос. Вроде логично создать для записи поле с id опроса и вставить код в шаблон вывода записи: если есть id, то выводим опрос. Но как заполнять это поле? В админке нет возможности редактировать Custom Fields. Надо править редактор записи админки? Как это сделать?
Отредактировано VladimirG (01:08:2009 11:45:49)
На странице сравнения http://www.eatdrinksleepmovabletype.com … ompare.php есть пункт «Easily include polls on Entries, Pages, etc.», там написано, что в бесплатной версии нельзя просто добавить опрос в запись/страницу.
Кстати, ваше решение с Custom Fields — отличное :) Подозреваю, что именно что-то подобное и есть в платной версии плагина.
Я бы вот его реализовал так:
1. Создал бы дополнительное поле (Single-Line Text), назвав его PollID, а тег шаблона — mypollid (лучше всегда добавлять какой-нибудь префиск к тегу, чтобы вдруг не возникло конфликтов с тегами плагина или MT).
2. Затем добавил бы в архивный шаблон записей (Запись) вывод опроса — в том месте, где необходимо. Вот пример кода:
<mt:If tag="mypollid">
<mt:SetVar name="exist_poll" value="<mt:mypollid />" />
<mt:CompletePoll poll_id="$exist_poll" />
</mt:If>
Если поле PollID не было заполнено в редакторе, то ничего не будет выведено, а если было, то будет выведен опрос с тем ID, которое было указано в редакторе.
3. И последнее, что необходимо сделать — сделать видимым поле PollID в редакторе при помощи ссылки «Опции отображения», которая располагается справа от меню редактора.
А я и не знал, что в "Опциях отображения" можно открыть поле для редактирования!
Все получилось! Спасибо!
Только вместо конструкции
<mt:SetVar name="exist_poll" value="<mt:mypollid />" />
лучше использовать
<mt:SetVarBlock name="entry_poll"><mt:mypollid /></mt:SetVarBlock>
Сообщений [ 14 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
На основе PunBB