Зарегистрированный пользователь должен легко создавать, редактировать, удалять события для произвольного дня, произвольного года и произвольного месяца
Незарегистрированный пользователь должен видеть: свободно то, или иное время ,нужного ему дня, или нет.
В нашей компании, например, это туроператоры, планирующие заранее мероприятия. Они смотрят наш календарь и видят свободные/занятые часы
-
В пространстве имен
app\modules
создать папкуcalendar
. -
Например:
cd path_your_project; mkdir modules/calendar
-
Переходим в папку модуля, и клонируем репозитарий:
-
cd modules/calendar; git clone https://github.com/ale10257/Simple-calendar-Event-Yii2-Ajax.git .
-
Регистрируем модуль в конфигурационном файле вашего приложения
'modules' => [
...
'calendar' => [
'class' => 'app\modules\calendar\CalendarEvent',
],
...
],
-
Создаём и применяем миграции:
-
./yii migrate/create create_calendarEvent_table --fields="year:integer(4),month:integer(2),day:integer(2),time:integer(2),event:string"; ./yii migrate
-
Редактируем время для событий в модели @app/modules/calendar/models/CalendarEvent
public $time_array = [
'1' => '9:00',
'2' => '10:00',
'3' => '11:00',
'4' => '12:00',
'5' => '13:00',
'6' => '14:00',
'7' => '15:00',
'8' => '16:00',
'9' => '17:00',
'10' => '18:00',
];
Не реализовано разграничение прав пользователей. В текущем проекте есть только Гость и неГость. Т.е., если в вашем проекте есть регистрация пользователей - они будут видеть форму для работы с событиями.