[myCalendar] Календарь для MODX
Есть прикольный календарик на javascript — fullCalendar. Много настроек, красивый вид, поддерживается разработчиками. Но он расчитан только на рендеринг событий. Лично мне он понравился и поэтому я решил познакомить его с MODX Revolution.
Вызывается так
Добавлять события можно либо просто кликом на нужное время, либо выделением диапазона. В первом случае конечное время события определяется согласно параметру defaultDuration. А во втором случае, начальное и конечное время определяются по границам выделения.
События можно перемещать, ресайзить, удалять.
Календарь может работать с Google Calendar. Для этого нужно в системных настройках указать Google Calendar API Key, а в сниппете через запятую указать google календари
С событиями Google календаря манипуляции ограничены. Их можно только редактировать, да и то только в собственном Google интерфейсе.
Собственно это все.
Проект на Github
В главном магазине MODX страны.
Update. В новой версии можно вызывать несколько календарей одновременно.
Вызывается так
[[!myCalendar?]]
У сниппета есть несколько параметров из настроек fullCalendar, которых вполне достаточно для работы. Если нужны дополнительные настройки, то их можно добавить в скрипт самостоятельно. Добавлять события можно либо просто кликом на нужное время, либо выделением диапазона. В первом случае конечное время события определяется согласно параметру defaultDuration. А во втором случае, начальное и конечное время определяются по границам выделения.
События можно перемещать, ресайзить, удалять.
Календарь может работать с Google Calendar. Для этого нужно в системных настройках указать Google Calendar API Key, а в сниппете через запятую указать google календари
[[!myCalendar? &googleCalendars=`ru.russian#holiday@group.v.calendar.google.com`]]
Как настроить можно прочитать тут.С событиями Google календаря манипуляции ограничены. Их можно только редактировать, да и то только в собственном Google интерфейсе.
Собственно это все.
Проект на Github
В главном магазине MODX страны.
Update. В новой версии можно вызывать несколько календарей одновременно.
Поблагодарить автора
Отправить деньги
Комментарии: 96
Очень рад, что кто-то вспомнил про замечательный fullCalendar.
Я тоже делал что-то подобное давно, но потом забросил.
Я тоже делал что-то подобное давно, но потом забросил.
Я так понял, что ты начал с fullCalendar, а закончил eventCalendar2.
Не, наоборот. eventsCalendar был вообще моим первым готовым дополнением для MODX.
крутой календарь)) это для фронтенда? правильно я понял?
Ага.
и перетаскивать, ресайзить и удалять события на фронте может только залогиненый в mgr?)
Все кому не лень. :)
Если нужно разрешить редактировать только авторизованным, то в сниппет перед перед сохранением параметров в сессию можно дописать условие
Если нужно разрешить редактировать только авторизованным, то в сниппет перед перед сохранением параметров в сессию можно дописать условие
if (!$modx->user->isAuthenticated($modx->context->get('key'))
$scriptProperties['readOnly'] = true;
Тогда неавторизованный пользователь может только любоваться. :)
Может эту фичу сразу в параметры вызова сниппета вынести? Мне кажется так будет востребовано.
Наверно.
А вообще это решение — вырезка из дополнения, которое я щас заканчиваю по заказу знакомого — с авторизацией, неограниченным количеством календарей с интерфейсом в админке, уведомлением пользователя на сайте и по почте, повторением событий. В дальнейшем хочет назначать задачи пользователям и следить за исполнением.
А вообще это решение — вырезка из дополнения, которое я щас заканчиваю по заказу знакомого — с авторизацией, неограниченным количеством календарей с интерфейсом в админке, уведомлением пользователя на сайте и по почте, повторением событий. В дальнейшем хочет назначать задачи пользователям и следить за исполнением.
тоже делала подобное, но с меньшим функционалом тут
Любой мог добавить, но удалить \ изменить время мог только админ
Любой мог добавить, но удалить \ изменить время мог только админ
Ваше решение на основе jquery.weekcalendar. Он не обновляется уже несколько лет. Плюс у него возможностей поменьше. Мне больше fullCalendar понравился.
Я ж не спорю) просто говорю что тоже пришлось заморочить, там просто были определенные требования к календарю.
Возможность менять период времени записи. тут 20 мин например, а сказали могут 10. + день как видите размет на 4 кабинки. это все надо было учесть. и самый оптимальный вариант на тот момент оказался этот
Возможность менять период времени записи. тут 20 мин например, а сказали могут 10. + день как видите размет на 4 кабинки. это все надо было учесть. и самый оптимальный вариант на тот момент оказался этот
Заметил, что тут никто никогда не задумывается о фронтенд оптимизации. Все компоненты, которые подключают скрипты/стили, почему то всегда подключают их несжатыми и не объединенными, но ведь же можно оставлять исходники, а рядом класть сжатый файл и подключать его. Все равно файл компонента нельзя править, в связи с его затиранием при апдейте, а кому надо изменить тот соберет себе новый из исходников.
Может у этого есть, конечно, какой-то смысл?
Может у этого есть, конечно, какой-то смысл?
Разработчик сайта, сам должен или может минифицировать, конкатенировать, и компилировать асетсы как ему угодно
Ну вы меня немножко не поняли, вот пример, как это сжать и объединить через MinifyX? Получается нужно выпилить из кода и вручную вставить там где вызывается компонент. Что очень странно.
А вот тут можно поспорить. Глядя на тот же код, можно заметить недокументированную возможность указывать свой путь к файлам.
В системных настройках нужно указать свой путь в параметре mycalendar.assets_url и, соответственно, css и js файлы будут доступны по новому пути — «новое значение/css/» и «новое значение/js/». И пожалуйста, подключай свои файлы.
Это к разговору о разработчиках. Для простого админа это не очень прозрачно.
В системных настройках нужно указать свой путь в параметре mycalendar.assets_url и, соответственно, css и js файлы будут доступны по новому пути — «новое значение/css/» и «новое значение/js/». И пожалуйста, подключай свои файлы.
Это к разговору о разработчиках. Для простого админа это не очень прозрачно.
хм, действительно. Но почему тогда тут не включено сжатие? И на modhost тоже.
Как раз такие скрипты и стили MinifyX собирает в один файл и минимизирует.
UPD. Василий меня опередил))
UPD. Василий меня опередил))
… но ведь же можно оставлять исходники, а рядом класть сжатый файл и подключать его...Согласен.
Появился в репозитории modstore.pro
В продолжение темы про сжатие скриптов…
Разработчикам на PhpStorm будет полезно узнать про плагин File Watchers, который автоматически сжимает css и js файлы. Работаешь в нормальной версии, а рядом появляется сжатый вариант. После каждого редактирования обычного файла сжатый файл автоматом обновляется. Я себе настроил этот плагин. Очень удобно.
Разработчикам на PhpStorm будет полезно узнать про плагин File Watchers, который автоматически сжимает css и js файлы. Работаешь в нормальной версии, а рядом появляется сжатый вариант. После каждого редактирования обычного файла сжатый файл автоматом обновляется. Я себе настроил этот плагин. Очень удобно.
1. во время вызова календаря выдает ошибку There was an error while fetching events!
на оном ресурсе без ошибки, на другом с это ошибкой — оба сайта идентичны, разница только в домене.
2. И при изменении настройки разрешить редактировать только авторизованным доступ к изменениям становится недоступен всем пользователям, авторизованным и нет.
Подскажите куда копать?
на оном ресурсе без ошибки, на другом с это ошибкой — оба сайта идентичны, разница только в домене.
2. И при изменении настройки разрешить редактировать только авторизованным доступ к изменениям становится недоступен всем пользователям, авторизованным и нет.
Подскажите куда копать?
1. во время вызова календаря выдает ошибку There was an error while fetching events!Можно посмотреть на сайт?
на оном ресурсе без ошибки, на другом с это ошибкой — оба сайта идентичны, разница только в домене.
2. И при изменении настройки разрешить редактировать только авторизованным доступ к изменениям становится недоступен всем пользователям, авторизованным и нет.Сниппет нужно вызывать не кэшированным, как в описании.
1. Доступы должны на почту прийти;
2. Так и делал.
2. Так и делал.
1. У тебя при обращении к скрипту action.php возвращается ошибка 404. Проверь права.
2. Ты вызываешь сниппет кэшированным
2. Ты вызываешь сниппет кэшированным
[[myCalendar? &allowGuestEdit=`1` &allDaySlot=`0` &defaultColor=`0` &height=`auto` &minTime=`07:00` &maxTime=`22:00`]]
Чтобы вызвать его некэшированным нужно указывать восклицательный знак перед именем сниппета.[[!myCalendar...]]
Кроме того, в параметре defaultColor нужно указывать значение цвета в css формате. Если нужен черный цвет, то так&defaultColor=`#000000`
1. Права проверял, делал по аналогии с другим сайтом где работает, все без изменений. Уже несколько дней с этим бьюсь, прочитал кучу мануалов, рекомендаций и т.п., делал по всякому, но без результатно;
2. Спасибо, исправил, но все равно тоже самое (проверяю на другом сайте, не где ошибку выдает) при вызове [[!myCalendar? &allowGuestEdit=`0`]] авторизованному пользователю не дает возможность редактировать, но выводит календарь на странице. при вызове [[!myCalendar? &allowGuestEdit=`1`]] выводит календарь всем, авторизованным и нет, и дает возможность редактировать
2. Спасибо, исправил, но все равно тоже самое (проверяю на другом сайте, не где ошибку выдает) при вызове [[!myCalendar? &allowGuestEdit=`0`]] авторизованному пользователю не дает возможность редактировать, но выводит календарь на странице. при вызове [[!myCalendar? &allowGuestEdit=`1`]] выводит календарь всем, авторизованным и нет, и дает возможность редактировать
после манипуляций с allowGuestEdit(изменеия значений с 0 на 1 и обратно), календарь не выводиться не авторизованным посетителям, только залогиненым
1. Права проверял, делал по аналогии с другим сайтом где работает, все без изменений.Убей не знаю в чем причина. Почему-то ajax запросы не проходят- отдается 404. Тут может старшие товарищи подскажут.
А хостинг один и тот же?
хостинг одинаковый мирахаб, но сервера разные. который едку даже пошустрее летает.
1. Попробую еще тогда погуглить, спасибо за направление куда копать.
видел вот такое решение с async:false вот только где прописывать это не понял.
2. А по этому что скажешь? я уже и кеша чистил, и права перегружал и папку кеш сносил, ничего не помогает. может какие настройки с самим modx? я уже и не знаю куда копать (((
пробовал по этим вопросам тестировать на двух разных хостингах и на локальном опенсервер все одинаково.
1. Попробую еще тогда погуглить, спасибо за направление куда копать.
видел вот такое решение с async:false вот только где прописывать это не понял.
2. А по этому что скажешь? я уже и кеша чистил, и права перегружал и папку кеш сносил, ничего не помогает. может какие настройки с самим modx? я уже и не знаю куда копать (((
пробовал по этим вопросам тестировать на двух разных хостингах и на локальном опенсервер все одинаково.
На алиф изменил сниппет и скрипт default.js. Все работает. Но при обновлении все слетит. Так что лучше сохранить под другими именами. А лучше разобраться, почему ajax не проходит.
2. А по этому что скажешь? я уже и кеша чистил, и права перегружал и папку кеш сносил, ничего не помогает. может какие настройки с самим modx? я уже и не знаю куда копать (((Параметр allowGuestEdit работает как положено. Где проверить эту ошибку?
Спасибо тебе!!! Надо сюда, наверное выложить код изменений? хоть и не пользуется спросом календарь (пока). Хотя на wp +30К загрузок Еще бы такой функционал получить) «из коробки»
С аяксом обязательно буду разбираться, может что-то старшие товарищи подскажут.
2. только что гонял туда — сюда этот параметр на алифе, все так-же. Думал кеша браузера, попробовал в двух разных и из под разных учеток.
С аяксом обязательно буду разбираться, может что-то старшие товарищи подскажут.
2. только что гонял туда — сюда этот параметр на алифе, все так-же. Думал кеша браузера, попробовал в двух разных и из под разных учеток.
Надо сюда, наверное выложить код изменений?Нет не надо.
2. только что гонял туда — сюда этот параметр на алифе, все так-же.Только что погонял с авторизацией и без несколько раз. Ставлю allowGuestEdit =`1` -> F5. Ставлю allowGuestEdit =`0` -> F5. И так несколько раз. Все работает. Что-то видимо у тебя криво стоит. Или мы друг друга не понимаем.
Спасибо.
Скорее всего криво или с хостингом что-то, во общем буду искать. Сейчас сайт живет какой-то своей жизнью, BannerY вообще отвалились (в админке не отображаются). Хотя на другом сайте, все гуд.
Проверю, отпишусь.
Скорее всего криво или с хостингом что-то, во общем буду искать. Сейчас сайт живет какой-то своей жизнью, BannerY вообще отвалились (в админке не отображаются). Хотя на другом сайте, все гуд.
Проверю, отпишусь.
пересобрал все с нуля и все равно с allowGuestEdit такакя же проблема.
Ставлю allowGuestEdit =`1` -> F5, доступ к редактированию есть у всех. У тех кто авторизован и нет.
Ставлю allowGuestEdit =`0` -> F5, доступа к редактированию нет ни у кого.
Ставлю allowGuestEdit =`1` -> F5, доступ к редактированию есть у всех. У тех кто авторизован и нет.
Ставлю allowGuestEdit =`0` -> F5, доступа к редактированию нет ни у кого.
Это на алифе?
да
Проблема как раз в том что когда авторизованный точно такая же картина. Или я чего-то не понимаю в реализации allowGuestEdit.
Хотя выше описана тобой-же верная логика.
Еще раз повторюсь.
Ставлю [[!myCalendar? &allowGuestEdit=`1`]]
Доступ к редактированию есть у всех.
Ставлю [[!myCalendar? &allowGuestEdit=`0`]]
Редактировать ни кто не может, авторизованный и не авторизованный пользователь.
Как я понял при &allowGuestEdit=`0` доступ к редактированию должен пропасть только у не авторизованных пользователей. исходя из твоего коммента
Хотя выше описана тобой-же верная логика.
Еще раз повторюсь.
Ставлю [[!myCalendar? &allowGuestEdit=`1`]]
Доступ к редактированию есть у всех.
Ставлю [[!myCalendar? &allowGuestEdit=`0`]]
Редактировать ни кто не может, авторизованный и не авторизованный пользователь.
Как я понял при &allowGuestEdit=`0` доступ к редактированию должен пропасть только у не авторизованных пользователей. исходя из твоего коммента
Проблема как раз в том что когда авторизованный точно такая же картина.Не такая же. Все работает как положено.
Для неавторизованного пользователя
//Нельзя редактировать гостям
[[!myCalendar? &allowGuestEdit=`0`]]
Для авторизованного пользователя
//Нельзя редактировать гостям
[[!myCalendar? &allowGuestEdit=`0`]]
Как видишь, редактирование возможно.
Дружище, я больше не знаю чем тебе помочь. Все работает как я и писал выше. Только теперь с подтверждением.
Кажись, я понял. Ты, видимо, авторизуешься в админке, а не во фронте. А если так, то получается, что ты всегда гость, не зависимо от того, авторизовался ты или нет. Поэтому и редактирование невозможно.
Если ты хочешь, чтоб параметр allowGuestEdit работал и для авторизованных в админке, то нужно в условии указать контекст mgr, а не текущий
Если ты хочешь, чтоб параметр allowGuestEdit работал и для авторизованных в админке, то нужно в условии указать контекст mgr, а не текущий
if (!$modx->user->isAuthenticated('mgr')
$scriptProperties['readOnly'] = true;
Спасибо! Все работает как надо
День добрый. Подскажите как сделать так чтобы отображался только месяц, чтобы не было возможности выбора — день и неделя?
В файле default.js в указанной строчке оставить только «month». И не забыть у сниппета указать параметр defaultView=month.
Вообще, настроек огромадное количество. Они все описаны на сайте fullCalendar.
В следующей версии добавлю возможность подключать свои js и css файлы, чтоб не затирались изменения в настройках при обновлении.
Вообще, настроек огромадное количество. Они все описаны на сайте fullCalendar.
В следующей версии добавлю возможность подключать свои js и css файлы, чтоб не затирались изменения в настройках при обновлении.
Как вывести описание события во всплывающем окне?
Спасибо
А можно так
title:event.title,
text:event.description
так и сделал) еще раз спасибо
Добрый день, не подскажите как сделать чтоб только определённая группа (manager) могла редактировать
В сниппете изменить/добавить условие
if (! $modx->user->isMember('manager')) {
$scriptProperties['readOnly'] = true;
}
Ну уж такие простые вещи можно и самому попробовать сделать.
Спасибо, я примерно так и сделал, когда начал читать комменты )).
Ещё такой вопрос, у меня на одной странице 2 календаря, eventCalendar2 и myCalendar при попытки добавить запись евент преображается.
Ещё такой вопрос, у меня на одной странице 2 календаря, eventCalendar2 и myCalendar при попытки добавить запись евент преображается.
Разобрался, спс
Ещё у меня выдавал ошибку в консоле об отсутствие файла assets/components/mycalendar/js/lib/jquery.qtip.min.map
Создал пустой файл с эти именем
Создал пустой файл с эти именем
Подскажите пожалуйста как можно сделать 2 календаря на одной страницы?
Mission impossible.
П.С. Теперь знаю чем заняться вечерком.
П.С. Теперь знаю чем заняться вечерком.
хахаха ждём когда будет possible
В этой версии только один календарь. Есть вот такая версия. В ней можно использовать несколько календарей. Но скорее всего, если заказчик разрешит её выложить, то не бесплатно.
Конечно крутая версия, но мне такой много, хотя бы намекните что можно сделать чтоб 2 календаря вывести, если оторвать у eventCalendar механизм с возможностью &calendar_id=`cal3` должно работать?
Я так понимаю, что эти 2 календаря на странице должны отображать разные события. И соответственно сохранять в разные календари разные события. А это в текущей информационной модели невозможно. Как события в таблице разделить по разным календарям?
Выход только один — переписывать все с нуля.
если оторвать у eventCalendar механизм с возможностью &calendar_id=`cal3` должно работать?eventCalendar просто выводит события. Он не может их сохранять. Поэтому там все проще.
Выход только один — переписывать все с нуля.
А если одни и те же?,
Подумаю. Пока ничего простого в голову не приходит.
Очень нужное дополнение, я так понимаю что пока с его помощью нельзя выводить ресурсы по времени/дате? в будущем планируется?
Для этого есть eventCalendar2
Приветствую! Календарь шикарный! Но пара вопросов имеется…
1. При установке опции &allowGuestEdit=`0` вроде все гуд — гости смотрят, админы редактируют и добавляют. Но только админ не может удалить событие. Всплывает окно с предупреждением, а далее сообщение, что редактирование запрещено.
2. Помогите подружить его с гугл-календарем! Вроде и api сделал, и id гугловского календаря прописал… но что-то где-то не так. Кстати, у меня id в виде e-mail, а здесь в примере вот так: &googleCalendars=`ru.russian#holiday@group.v.calendar.google.com`. Это как понимать?
1. При установке опции &allowGuestEdit=`0` вроде все гуд — гости смотрят, админы редактируют и добавляют. Но только админ не может удалить событие. Всплывает окно с предупреждением, а далее сообщение, что редактирование запрещено.
2. Помогите подружить его с гугл-календарем! Вроде и api сделал, и id гугловского календаря прописал… но что-то где-то не так. Кстати, у меня id в виде e-mail, а здесь в примере вот так: &googleCalendars=`ru.russian#holiday@group.v.calendar.google.com`. Это как понимать?
Ну, про 1, изменил в файле core/components/mycalendar/model/mycalendar/mycalendar.class.php в методе public function removeEvent (404 строка)
if (!$this->config['allowGuestEdit'] && !$this->modx->user->isAuthenticated('mgr')) (406 строка).
И всё заработало.
Вообще, думаю, там следует учинять ровно такую же проверку, как и в коде сниппета. У меня, в частности, требуется, чтобы только залогиненный в админку пользователь мог редактировать календарь, поэтому и проверяю isAuthenticated('mgr').
if (!$this->config['allowGuestEdit'] && !$this->modx->user->isAuthenticated('mgr')) (406 строка).
И всё заработало.
Вообще, думаю, там следует учинять ровно такую же проверку, как и в коде сниппета. У меня, в частности, требуется, чтобы только залогиненный в админку пользователь мог редактировать календарь, поэтому и проверяю isAuthenticated('mgr').
Вообще, думаю, там следует учинять ровно такую же проверку, как и в коде сниппета.Какой смысл дублировать код? Все манипуляции с правами вынесены в сниппет. Там, в зависимости от требуемых условий, выставляется флаг readOnly. А в классе просто должен проверяться этот флаг. В новой версии это дело поправлено.
Я не так выразился. Для сиюминутного решения, чтобы работало, предложил Виктору решение, а не внёс предложение на улучшение кода.
Конечно, дублировать код не надо.
Благодарю за вашу работу.
Конечно, дублировать код не надо.
Благодарю за вашу работу.
1. При установке опции &allowGuestEdit=`0` вроде все гуд — гости смотрят, админы редактируют и добавляют. Но только админ не может удалить событие. Всплывает окно с предупреждением, а далее сообщение, что редактирование запрещено.Есть такое дело. Логику с правами вынес в сниппет, а в классе забыл подправить это дело. Исправление будет доступно в новой версии. А пока можно самому поправить в файле core/components/mycalendar/model/mycalendar/mycalendar.class.php (строка 406)
if ($this->config['readOnly'])
2. Помогите подружить его с гугл-календарем!По инструкции должно быть 3 шага:
1. Получить API Google календаря.
2. Создать доступный всем (public) google календарь.
3. Получить его ID. Он должен выглядеть как-то так abcd1234@group.calendar.google.com.
API Google календаря прописать в системных настройках, а ID календаря в параметре &googleCalendars сниппета. Если все сделано правильно, то должно работать.
Календарь ru.russian#holiday@group.v.calendar.google.com является общим календарем с праздниками, у Вас он тоже должен работать.
Добрый день, подскажите пожалуйста как избавиться от шибки в логе
(ERROR @ /assets/components/mycalendar/action.php) No class specified for loadClass
Появилась после обновления движка и компонента
(ERROR @ /assets/components/mycalendar/action.php) No class specified for loadClass
Появилась после обновления движка и компонента
Без понятия. Попробуйте выяснить в какой момент она появляется — при открытии страницы, при редактировании события и т.п. Тогда будем думать.
К сожалению не могу определить точно когда появляется ошибка, иногда при хождении по админке сайта, иногда по фронтенду, при логине пользователя появляется,
Ещё присутствуют такие ошибки
(ERROR @ /assets/components/mycalendar/action.php) Could not load class: myCalendarEvents from mysql.mycalendarevents.
(ERROR @ /assets/components/mycalendar/action.php) myCalendarEvents::getSelectColumns() is not a valid static method.
Ещё присутствуют такие ошибки
(ERROR @ /assets/components/mycalendar/action.php) Could not load class: myCalendarEvents from mysql.mycalendarevents.
(ERROR @ /assets/components/mycalendar/action.php) myCalendarEvents::getSelectColumns() is not a valid static method.
А возможно ли сделать так чтобы при &allowGuestEdit=`0` нажатие на событие выдавало подсказку как при наведении, вместо открытия окна редактирования. Просто проверяю на телефоне и каждое касание открывает окно редактирования.
Все пожелания собираю тут.
Отличный сниппет! Спасибо огромное!
Если еще поделитесь фрагментом кода который добавляет в «eventform» возможность создавать периодические события, буду крайне Вам признателен!
Если еще поделитесь фрагментом кода который добавляет в «eventform» возможность создавать периодические события, буду крайне Вам признателен!
В myCalendar нет такого функционала. Он есть в fullCalendar.
Добрый день!
Установил сниппет. Вызываю так:
Спасибо!
Установил сниппет. Вызываю так:
[[!myCalendar? &allowGuestEdit=`0`]]
При этом всё равно, если пользователь не авторизован в админке — он может править события. Подскажите, что можно сделать и куда копать?Спасибо!
Авторизация в админке не учитывается. Если пользователь авторизован на сайте, то он уже не гость и на него параметр allowGuestEdit не действует.
А если на сайте в принципе нет авторизации со стороны фронтенда?
У меня чисто информационный сайт. И при просмотре календаря я захожу из другого браузера.
Когда я сделал сниппет на основе вот этого кода из вашей доки:
У меня чисто информационный сайт. И при просмотре календаря я захожу из другого браузера.
Когда я сделал сниппет на основе вот этого кода из вашей доки:
<?php
// Если пользователь зарегистрирован и входит в группу "Manager", то редактирование календаря разрешено.
if ($modx->user && $modx->user->isMember('Manager') {
$scriptProperties['readOnly'] = true; // Редактирование запрещено
} else {
$scriptProperties['readOnly'] = false; // Редактирование разрешено
}
// А теперь передаём параметры в сниппет myCalendar
return $modx->runSnippet('myCalendar', $scriptProperties);
Допустим с названием и выводом [[!calendarPermission?]] сайт выпадает с ошибкой 500. Или же это опять же связано с авторизацией во фронтенде?
Банальная опечатка — не хватает закрывающей скобки в конструкции if.
Да, спасибо! Ошибку 500 исчезла. Но всё равно неавторизованный нигде пользователь может нажать на событие и изменить его. Т.е. просто случайный посетитель сайта.
Значит не судьба. Попробуйте другой календарь.
П.С. У меня на сайте почему-то всё работает как положено.
П.С. У меня на сайте почему-то всё работает как положено.
Возможно ли сейчас подключить Google-календарь? Попытка вызвать как
[[!myCalendar? &googleCalendars=`ru.russian#holiday@group.v.calendar.google.com`]]
ни к чему не приводит — календарь на фронт-энде пустой, хотя выше указан именно этот календарь для примера. Другие календари тоже не подключались. В консоли выводится ошибка
«Specify a googleCalendarApiKey. See fullcalendar.io/docs/google_calendar/»
В гугле опять что-то наменяли, что перестало работать? С этими «обновлениями с последствиями» на других языках уже сталкивался.
[[!myCalendar? &googleCalendars=`ru.russian#holiday@group.v.calendar.google.com`]]
ни к чему не приводит — календарь на фронт-энде пустой, хотя выше указан именно этот календарь для примера. Другие календари тоже не подключались. В консоли выводится ошибка
«Specify a googleCalendarApiKey. See fullcalendar.io/docs/google_calendar/»
В гугле опять что-то наменяли, что перестало работать? С этими «обновлениями с последствиями» на других языках уже сталкивался.
Чтобы вызвать Гугл календарь, его нужно сначала настроить. Об этом и сообщается в ошибке. Проверить можно на демосайте.
А каким образом настроить? Я скопировал с демосайта код «Первый вызов» — все равно в нем пусто и та же ошибка в консоли.
Нужно получить API ключ Гугл календаря. Как это сделать указано в ссылке в ошибке — «Specify a googleCalendarApiKey. See fullcalendar.io/docs/google_calendar/».
Друзья. А как в сниппете или вызове выставить язык русский?
Язык определяется в системной настройке cultureKey.
спасибо большое. Только начал работать с REVO
Добрый день!
Подскажите как на бэкенде возможно обработать добавление события?
Подскажите как на бэкенде возможно обработать добавление события?
ребят как добавить поле в базу(то есть добавить колонку как ти title description и тп)?? хочу к событиям прикрутить возможность добавления ссылки…
как удалить свой комментарий?
День добрый! Есть товары минишопа(обучающие курсы.) у каждого товара есть название описание и тв поле время старта курса. Как их вывести в данном календаре?
[[!pdoResources?
&tpl=`@INLINE <div>[[+start]]. [[+title]]</div><div>[[+description]]</div>
`
&class=`myCalendarEvents`
&loadModels=`mycalendar`
&sortby=`start`
&sortdir=`ASC`
&showLog=`1`
]]
Такой вызов выводит простой список без рендера календаря из таблицы mycalendar… Каким образом можно приджойнить товары минишопа и возможно ли это??
Этот календарь на такое не заточен. А вот этот могёт.
Благодарю за ответ! На след неделе приобрету в Модстор.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.