Переписал почти заново
свой каленадарь.
Что нового:
• Переписал в соответствии с архитектурой компонентов MODX.
• Появилась нормальная интернационализация — все тексты, включая имена месяцов и дней в словарях системы. Языковые параметры типа &lang убрал.
• Вынес все скрипты и css из чанка с календарем в отдельные файлы. (/assets/components/eventscalendar2/)
• Ошибки пишутся в системный лог и на экран. Вывод на экран, как и раньше можно отключить.
• Сделал возможность переключения месяцев без ajax — поисковикам понравится.
• Добавил новый параметр events. Он принимает json строку с массивом событий, например:
[[!eventsCalendar?
&events=`
[
{
"id": "1"
,"date": "2012-01-01 00:00:00"
,"pagetitle": "Test page"
},
{
"id": "2"
,"date": "2012-01-02 12:05:00"
,"pagetitle": "Test page 2"
}
]
`
]]
Обязателен параметр date у каждого события, для корректной работы. Это обновление позволяет выводит в календаре
любые события, хоть откуда, с любыми параметрами (лишь бы они потом были в чанке tplEvent2).
Если указан параметр
id — он превратится в ссылку на ресурс.
• Результат всех трудов оформил в
репозиторий на Github, где теперь можно писать об ошибках и форкать проект.
Надеюсь, вы оцените проделанную работу, а может, кто-то что и закоммитит.
Новый пакет уже в
репозитории. Очень желательно перед обновлением сохранить ваши изменения в чанках — так как они будут затерты. Вообще, лучше всего подключать свои собственные чанки, так как это не последнее обновление.
Кстати, я не гарантирую, что после обновления у вас все будет хорошо работать.
Посмотреть в работе и почитать про параметры и плейсхолдеры
UPD.
Обновил сниппет еще раз, версия
2.2.1 rc1
• Параметр &includeContent, по умолчанию контент теперь не грузится — так быстрее.
• Поддержка ТВ. Параметры &includeTVs, &includeTVList, &processTVs, &processTVList — работают как в getResources.
• Параметр &plPrefix для установки произвольного префикса для всех плейсхолдеров (включая ТВ)
• Параметр & regCss — загрузка родного css со стилем календаря. По умолчанию включено.
• Параметр & regJs — загрузка родного js скрипта для листания календаря. По умолчанию включено. Если вы хотите перелистывать с перезагрузкой страницы — отключите этот параметр.
• Календарь теперь полностью парсится при выводе. Можно использовать фильтры, чанки, сниппеты и все остальное. Не факт, что это будет быстро, но можно.
Пакет в репозитории, как обычно.
Комментарии (22)
RSS свернуть / развернутьalex-alex
alooze
И я с ним не работаю уже давно.
bezumkin
alex-alex
Но моих обновлений для нее не будет.
bezumkin
alex-alex
setest
В новой версии я постарался их исключить + теперь можно листать без ajax, для запущенных случаев.
Про параметры: сниппет развивается давно, и parents появился не сразу (с версии 2.0.5). Удалять старый параметр я не стал, иначе у многих людей после обновления будут проблемы.
Ссылка на параметры в топике.
bezumkin
setest
Для более продвинутых — советую статью Andchir на Хабре и напоминаю, что все необходимое лежит в modExtra.
bezumkin
setest
точки в путях поставил сам.
setest
Я еще не мега ас в их сборке, буду разбираться.
Спасибо за отзыв!
bezumkin
bezumkin
setest
Даже не знаю, чем помочь. Попробуйте с нуля поставить движок и расширение. Может, что получится.
bezumkin
setest
bezumkin
P.s.: установил все на новый Modx 2.2.0-pl2, работает быстрее чем на 1.5. При удалении компонента глюков не заметил.
P.p.s: запись if такого как у тебя первый раз вижу, и честно удивляюсь, что она работает, как то не думал что так можно писать.
setest
У меня в коде путаница с месяцами, где-то с ведущим нулем, а где-то нет. Не хватает времени сесть и почистить.
Про имена дописал.
По моему, очевидно, что в parents нужно писать цифры через запятую — в getResources ведь так? Проверять каждый параметр на правильность при запуске сниппета слишком накладно.
Рево 2.2.0 вообще офигенский
А что с if не так?
bezumkin
Trent
Скрытый блок с событием позиционируется относительно даты, и сходит с ума при fixed. Это не проблема сниппета, это чисто css.
bezumkin
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.