Компонент Моменты для InstantCMS 2.5.+

+47
5.8K
Всем привет. Пока скучал в одной теме на форуме, собрал небольшой компонент с использованием этого скрипта fullcalendar. Это своего рода пререлиз, демо-версия, free или lite version компонента, зовите как хотите, так как функционал скромный. Это версия компонента, который выйдет не скоро, причём очень даже не скоро. Даже у меня нет такого чёткого представления, что он вообще выйдет. Поэтому, скажем так, вероятность появления полнофункциональной версии есть, но сроков нет.

В общем подробнее обо всём

Доступ на демо предоставляется по запросу в личном сообщении. Скачать можно в дополнениях.
Для установки необходимо создать тип контента с любыми настройками, но обязательно с системным именем "moments" и установить компонент.
Очерёдность в этом деле начиная с версии движка 2.6.0 строгая, сначала тип контента, затем установка компонента.
С компонентом установится дополнительное поле "Событие в календаре".
Из настроек самого поля доступно лишь цветовое оформление события в календаре по умолчанию, которое можно изменить в настройках самого поля.
Иллюстрация
При создании/редактировании записи доступно чуть больше опций
Иллюстрация
Это дата начала, окончания события, варианты повторов события от ежедневного до ежегодного, включая повторы по дням недели и датам в ежемесячных повторах. А также возможность делать вложенные события. Или подобие вложенности событий smile.
В других типах контента это поле будет выводить дату начала/окончания и продолжительность события, но на календаре эти записи в лайт версии не будут отображены. В полной версии планируется работа без привязки к типу контента.
Привязка записей возможна только к записям из этой же категории.Из других категорий записи в список не попадут. Это сделано в основном, для того, чтобы можно было скажем одно мероприятие разбить на несколько частей, и эти части вывести в календаре.
Вот так выглядит запись у которой есть "подзаписи".
Иллюстрация
А так — которая сама является "вложенной"
Иллюстрация
В списке вид выглядит так
Иллюстрация
Содержимое календаря чувствительно к выборанной категории, наборам, фильтру.
Виджетов с календарём в этой версии нет. Доступны все стандартные функции, поля и виджеты как в обычном типе контента.

Для работы этого компонента нужна версия php не ниже 5.6. Я понимаю, что движок instantcms работает на версии 5.3, но "нормальные" php-функции для работы с датой и временем, появились только в 5.6.
Моменты lite
Компонент

Моменты lite

Скачать 2 962 загрузки
+1
Алексей Алексей 8 лет назад #
Скромно так -
..Пока скучал..
.
Замечательный компонент и..вопрос: "Приватность присутствует? скажем для использования как расписания для себя или себя и друзей..."
+1
Alekskrug Alekskrug 8 лет назад #
Мне тоже интересно
+6
eoleg eoleg 8 лет назад #
Loadырь:
очень нескоро
Лодырь! laugh
+2
Loadырь Loadырь 8 лет назад #
спалился zst
0
vikont vikont 8 лет назад #
Умеют же люди скучать творчески.. smile
0
skewes skewes 8 лет назад #
Loadырь, +++ в карму!
Однозначно хорошая и многим нужная вещь!

Почему такого нет по умолчанию в Мапсе.? scratch
0
Def Def 8 лет назад #
Почему такого нет по умолчанию в Мапсе.?
потому что r2 не "скучает" так как скучает Loadырь)

--

компонент очень полезный. не совсем понял правда как повторять по указанным дням недели, т.к вроде нет возможности указать дни недели, или я вероятно не совсем понял эту фопцию)

а фильтр по городам возможен также с учетом типа контента и наличием поля город?)
0
Loadырь Loadырь 8 лет назад #
Ежемесячно по дате - это берётся дата начала скажем 18 число месяца и каждый месяц 18 числа повторяется.
Ежемесячно по дням недели - это берётся у даты начала день недели, скажем 4 мая - это первая среда месяца и повторяется каждую первую среду месяца, независимо от даты.
0
lezginka.ru lezginka.ru 8 лет назад #
шикарная штука...жаль что только для версия 2,5*
+1
Loadырь Loadырь 8 лет назад #
По поводу приватности поправил файлы. Перезалил архив, ссылку в посте поправил.
Приватность работает немного иначе чем в стандарте. Так как понятие "показать только название" тут я считаю лишнее. В итоге если выбрать в настройках типа контента "Не показывать", то ничего не покажет в календаре. Если выбрать любое другое, то в календаре выведет, записи согласно настроек самой записи - показывать всем или только друзьям.
+2
Loadырь Loadырь 8 лет назад #
Для обновления перезалейте у себя файлы из архива папки package в корень сайта. Добавил сегодня событие которое видно авторизованному пользователю demouser.
0
Алексей Алексей 8 лет назад #
Вот и славненько....! Еще раз Спасибо! Будет желание поскучать - пишите на форум
0
Def Def 8 лет назад #
Классно, записи фильтруются по городу:)
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
Денис Васильевич Денис Васильевич 8 лет назад #
Давно хотел сделать Новости публикации.. Т.е. возможность писать записи к записи и сортировать их по типу, например: Новости, События и т.д.
Проясните не невыспавшемуся человеку, у вас та же идея заложена? Уже не осилю я эти много букв.. извините.
0
Денис Васильевич Денис Васильевич 8 лет назад #
До меня как до утки, на третьи сутки laugh Тооолько понял, Вы немного о другом smile
+1
Loadырь Loadырь 8 лет назад #
Тут немного иная цель преследуется. Но в целом принцип тот же. Поле для прикрепления одной записи к другой или нескольким, пара хуков и если не привязываться к файлам движка, то и свой компонент, для обработки этих хуков.
+1
Денис Васильевич Денис Васильевич 8 лет назад #
Благодарю за пояснения joke С вашего позволения возьму вашу разработку за основу для воплощения своей задумки.
0
ermakover ermakover 8 лет назад #
Отличное дополнение.
Немного расстроила фраза "Это версия компонента, который выйдет не скоро, причём очень даже не скоро", но я полагаю, что если будет стимул, то процесс можно и ускорить v
Пытался поделить события на "Прошедшие" и "Грядущие", чтобы прошло событие и уже в фильтре не показывалось, но и не было скрыто от пользователей, но не получилось.
При добавлении в наборы контента поля "Событие в календаре" у меня выскакивает ошибка 503.
0
Loadырь Loadырь 8 лет назад #
ermakover:
При добавлении в наборы контента поля "Событие в календаре" у меня выскакивает ошибка 503
Не стоит этого делать, так как в поле хранится массив данных, а вы пытаетесь дату провести в фильтре набора.
0
PolarOne PolarOne 8 лет назад #
Очень напомнило встраиваемый гугл календарь и еще пару плагинов от вордпресса.
Однозначно здорово!
0
Sergo Sergo 8 лет назад #
Спасибо, отличная вещь.
Я попробовал использовать с тэгами, но при клике по тэгу в ответ получил: Невозможно получить данные для календаря.
Скажите пожалуйста, в том виде как есть, эта ситуация неразрешима, или есть возможность где-то "поставить нужную галочку"?
0
Egu Egu 7 лет назад #
На 2.7.1 не работает, как не пытался. Очень жаль - нужный компонент.
0
Pocus Pocus 7 лет назад #
Loadырь, пожалуйста скажите, вы "календарную" тему совсем забросили?

Я сейчас обдумываю, как бы перевести "события" объектов InstantMaps на типы контента, но, боюсь, без календаря это не имеет смысла.
А с календарями в ICMS просто беда. Кроме вашего, нашел одинi от sitestroi и еще Афишу от Zau4man. Но первый вообще не годный, второй вроде бы можно приспособить, но там свои заморочки. Ваши "Моменты" подошли бы лучше всего, жаль что не работают на 2.7.1, да и вложенные события надо переводить на связи.
0
Loadырь Loadырь 7 лет назад #
Не совсем забросил, поддержка будет, если кто-то отважится и скажет, что именно не работает. А ещё лучше будет, если код ошибки приведёт.
0
Pocus Pocus 7 лет назад #
Спасибо. Тогда я сам попробую установить, а то поверил @Egu на слово.
0
Ris Ris 7 лет назад #
Движок теперь не дает создавать типы контента с именем совпадающим с именем компонента.
0
Loadырь Loadырь 7 лет назад #
laugh теперь сначала надо создать тип контента, а потом установить компонент. А тем, кто поторопился и уже установил компонент, сначала надо удалить его в админке в компонентах, а затем удалить папку monents из system/controllers. После этого не спеша установить в правильной последовательности
0
Ris Ris 7 лет назад #
Может лучше сделать в админке форму ввода, куда привязываемый тип вписывать (или типы) ? zst
И в любом типе контента можно будет считать моменты.
0
Loadырь Loadырь 7 лет назад #
Там не так просто отвязаться от типа контента, поэтому эта фича отложена до появления платной версии.
0
Pocus Pocus 7 лет назад #
В общем так.
Сначала выдавал сообщение "Невозможно получить данные для календаря. Загрузка...", или типа того.
Включил категории, перенес запись в категорию, создал еще одну запись и всё заработало. Я так и не понял что это было, не успел в консоль глянуть.
Ну и, если шаблон свой, надо файлы к себе перетащить.

В общем, на 2.7.1, на первый взгляд, работает.
С миллисекундами вы конечно прикололись. Теперь их как-то удалять придётся.
И это.... кажется "моменты" - не совсем то, что я ожидал. Я думал, будет обычный список контента и где то рядом календарь, для фильтрации.
Поковыряю еще, может приспособлю.
0
Pocus Pocus 7 лет назад #
Из неприятных мелочей:
1. Не хватает поля is_deleted для совместимости с корзиной в 2.7
2. js и css пытается тянуть из рабочего шаблона. Надо из default. Пришлось копировать файлы к себе.
3. Ну и странная установка. Хотя, если действовать по инструкции, то все ОК.
+1
Loadырь Loadырь 7 лет назад #
Спасибо, поправил. Выложил в дополнениях.
0
alexandr22 alexandr22 6 лет назад #
Здравствуйте, можно ставить на 2.10 ?
0
Loadырь Loadырь 6 лет назад #
На 2.10.0 не проверялся, поэтому на свой страх и риск.
0
Ris Ris 7 лет назад #
Создаваемый тип контента называете как хотите, но в 27 строке \system\fields\moments.php вместо get('con_moments'); напишите get('con_ваш_тип_контента'); В смысле системное имя вашего типа контента туда впишите.
И будет Вам счастье.

Спойлер
0
Def Def 7 лет назад #
время идет, а компонент остается очень полезным! Спасибо автору огромное! на 2.8.2 полет пока нормальный.
0
Блицкриг Блицкриг 6 лет назад #
Ошибка: Не должно называться именем существующего компонента
Я по дурости сначала установил, потом тип контента создать попытался. В базе нашёл табличку moments и удалил... перед этим снёс компонент. Всё равно ошибка при создании контента осталась...
Может что то ещё в БД нужно стереть?
+1
Loadырь Loadырь 6 лет назад #
Вероятно, в таблице cms_controllers есть запись о компоненте
0
Блицкриг Блицкриг 6 лет назад #
Нет. Искал в БД moments по запросу возвращает ноль строк. Записи нет.
0
Блицкриг Блицкриг 6 лет назад #
phpMyAdmin:
Итого: 0 соответствий
0
Блицкриг Блицкриг 6 лет назад #
Разобрался. Всё дело в хуках =)
0
Игорь ФИН Игорь ФИН 5 лет назад #
Решил немного по тестировать .
Решил добавить его в группы.
Все работает только вот такое сообщения весит ( и в группе на календаре события не отражается, а в само календаре отражается.


InstantCMS v2.11.0

Notice: Undefined index: mc_start in /templates/default/content/moments_item.tpl.php on line 20
- Робототехника
0
Loadырь Loadырь 5 лет назад #
Отключите режим отладки в настройках сайта, возможно появятся события в календаре.
0
Игорь ФИН Игорь ФИН 5 лет назад #
Вот по шагам первый

Второй

третий

четвертый


Идем в группу

идем в календарь отдельно


Идем опять в группу


Но , он работает, хоть как-то.
0
Loadырь Loadырь 5 лет назад #
Тут как выяснилось, записи могут быть либо только в группе, либо в календаре. Зависит от того, откуда добавляли.
0
fincheck fincheck 5 лет назад #
Loadырь:
с использованием этого скрипта fullcalendar
Уважаемый Loadырь, а сложно будет прикрутить и синхронизацию с Google Календарь? В скрипте fullcalendar вроде как это предусмотрено.
0
Loadырь Loadырь 5 лет назад #
Насколько я знаю, fullcalendar может вывести события из Google Календаря, а вот обратную связь я не замечал в нем.
0
fincheck fincheck 5 лет назад #
Ну да, мне как раз это и нужно. Из Google Календаря в Моменты.
+1
Loadырь Loadырь 5 лет назад #
Синхронизация подразумевает обмен данными в обоих направлениях. У fullcalendar только в одном направлении. Что касается сложно или нет, решайте сами: https://fullcalendar.io/docs/google-calendar это сложно или нет? Нужен ключ Google Calendar API и пара строк в нужном месте. Но пока не скажу в каком именно ))). Не до календаря пока.
+1
Алексей Т Алексей Т 5 лет назад #
Добрый день!
Проверил работу на Конструкторе тем - полет нормальный
Кто то спрашивал - работает ли на Инфимере - ответ да :)
Отличный компонент
0
Антон Антон 4 года назад #
Как сделать чтоб под календарем на странице site.ru/moments отображались все записи?
0
fincheck fincheck 4 года назад #
Наверно виджетом со списком записей или типа того.
+1
Loadырь Loadырь 4 года назад #
Код с выводом списка записей из файла шаблона templates/шаблон/content/default_list.tpl.php добавьте в файл templates/шаблон/content/moments_list.tpl.php
0
Бичукин Андрей Бичукин Андрей 1 год назад #

Добрый день! Попытался установить на текущую версию движка и не получил рабочий функционал. Сайт сделан конструкторе тем. С списке событий календарь вижу. События из меню действий добавляются, но сами события не выводятся. Не подскажете, как поправить? Спасибо!

0
Loadырь Loadырь 1 год назад #

Есть только два варианта:

1. Откатить движок cms до версии 2.7.1

2. Переписать весь компонент с учетом новых возможностей движка и сторонних библиотек.

0
Бичукин Андрей Бичукин Андрей 1 год назад #

Спасибо, что ответили. Я вчера таки смог всё установить. На отладке увидел ошибку. К сожалению не записал. Была ссылка на какой-то файл в дефолтном шаблоне, что вроде как заявленный класс уже в нём существует. Временно его удалили из той папки, доустановил и всё заработало. Потом вернул и всё осталось в норме.

0
Loadырь Loadырь 1 год назад #

Можно и так, но нет никакой гарантии, что всё будет работать как надо.

0
Бичукин Андрей Бичукин Андрей 1 год назад #

Это я понимаю. Сейчас выкрутился, а, если возникнут ошибки дальше, то видимо к вам обращусь за помощью.
А вы сами не думали актуализировать этот компонент?

0
Loadырь Loadырь 1 год назад #

Загружен заказами. У меня много чего надо актуализировать из платных разработок, а на бесплатные времени почти не остается.

0
Бичукин Андрей Бичукин Андрей 1 год назад #

Уже однажды у нас с вами такое было))) Если помните точно также появился компонент похожих публикаций. Я тогда финансировал первичную разработку. Все переходили с первой ветки на вторую, а на второй мне очень её не хватало. Думаю, что в крайнем случае также  можно будет решить))

0
Loadырь Loadырь 1 год назад #

Вполне возможно, но это будет совсем не скоро.

Еще от автора

Конструктор форм iForms: онлайн калькулятор
Краткая инструкция, по созданию онлайн калькуляторов с помощью конструктора форм.
Конструктор форм iForms. Добавление записи в типы контента гостем.
С момента моей прошлой записи на эту тему прошло больше двух лет. За это время двойка претерпела немало изменений.
Редактор разметки iTiny
Шо! Опять! (c)))
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.