[Решено] Календарь событий в друпале
Прислано: ValBangMan
пн, 23/03/2009 - 08:17
Добрый день!
Есть необходимость сделать календарь событий вот тут: http://pzrk.ru/ исходный код блока (на ссылку пока стоит заглушка):
<div class="fl">
<h3>Календарь событий</h3>
<select name="month" class="sb">
<option>Январь</option>
<option>Февраль</option>
<option>Март</option>
<option>Апрель</option>
<option>Май</option>
<option>Июнь</option>
<option>Июль</option>
<option>Август</option>
<option>Сентябрь</option>
<option>Октябрь</option>
<option>Ноябрь</option>
<option>Декабрь</option>
</select>
<select name="year" class="sm">
<option>2008</option>
<option>2009</option>
</select>
<a href="#">Перейти</a>
</div>Нужны советы профессионалов. Далее по пунктам, по которым хотелось бы услышать, что думают знатоки:
1. думаю создать вьюшку с аргументами для месяца и для года, чтобы при запросе http://pzrk.ru/events/05/2008 показывались все публикации за май 2008 или http://pzrk.ru/events/07/2008 за июль 2009.
2 нужно создать модуль, который будет реализовывать следующее: после того, как пользователь выбрал интересующие значения, они заноситься в переменные $month и $year и далее формируем ссылку "Перейти" примерно вот так:
<?php
echo '<a href="http://pzrk.ru/events/'.$month.'/'.$year;
?>но тут без ajax не обойтись я так понимаю...
второй вариант, это оформить выпадающие менюшки как форму, но тогда вопрос, как вместо кнопки типа submit повесить обработку формы на просто ссылку...
- ValBangMan's blog
- Для комментирования войдите или зарегистрируйтесь
а встроенная вьюха чем не устраивает?
- Для комментирования войдите или зарегистрируйтесь
Что имеется ввиду под встроенной? В page.tpl.php встроить ?
- Для комментирования войдите или зарегистрируйтесь
во views есть archive
- Для комментирования войдите или зарегистрируйтесь
Там немного по-другому сделана она, а нужно точно как по дизайну. В общем решил проблему так:
1. Создал с помощью Views вьюху с именем events и с двумя аргументами %1/%2(для месяца и года). То есть, набрав events/02/2008 будет отображены все материалы за февраль 2008 года.
2. В page.tpl.php добавил такой скрипт:
function get_link() {
document.getElementById("changed_link").href = 'events/'+document.getElementById("month").value+'/'+document.getElementById("year").value;
}
function get_link_en() {
document.getElementById("changed_link").href = 'en/events/'+document.getElementById("month").value+'/'+document.getElementById("year").value;
}Он позволяет переписывать ссылку, которая будет открывать вьюшку, каждый раз, когда происходит выбор нового значения в выпадающих менюшках месяца и года.
3. В нужном месте в page.tpl.php выводим выпадающие списки следующим образом:
<div>
<h3>Календарь событий</h3>
<select id="month" name="" onchange=get_link()>
<option value="01">Январь</option>
<option value="02">Февраль</option>
<option value="03">Март</option>
<option value="04">Апрель</option>
<option value="05">Май</option>
<option value="06">Июнь</option>
<option value="07">Июль</option>
<option value="08">Август</option>
<option value="09">Сентябрь</option>
<option value="10">Октябрь</option>
<option value="11">Ноябрь</option>
<option value="12">Декабрь</option>
</select>
<select id="year" name="" onchange=get_link()>
<option value="2008">2008</option>
<option value="2009">2009</option>
</select>
<a id="changed_link" href="/events/01/2008">Перейти</a>
</div>Что получилось, можно посмотреть на www.pzrk.ru
- Для комментирования войдите или зарегистрируйтесь
Получилось так, что сайт не открылся - Касперский замучал красными окошками. (угроза, кража паролей...)
Что там у вас происходит?
- Для комментирования войдите или зарегистрируйтесь
Ну как мне заказчик объяснил - действует правительство, сайт-то партии, которую не жалуют особо...я сам стремался, когда там просто статика была, и каспер кричал. Но когда я на денвере разработал сайт на друпале (естессно без всяких краж паролей) и залил его на хост именно pzrk.ru, то каспер кричать стал :) стоит задуматься...все под калпаком :) На локали этот набор файлов закачиваю в папку pzrk, все норм, создаю pzrk.ru на денвере, каспер начинает опять ругаться, стебато :)
- Для комментирования войдите или зарегистрируйтесь


Комментарии