Хочу отобразить день по часам (вернее по получасам) в виде нод

Главные вкладки

Аватар пользователя andreystrelkov andreystrelkov 28 ноября 2014 в 15:12

Хочу сделать следующее
как бы имеется день от 00:00 до 00:00 следующего дня, т.е. сутки
хочу списком показать

00:00 ЗАПИСАТЬСЯ
00:30 ЗАПИСАТЬСЯ
01:00 ЗАПИСАТЬСЯ
...
00:00 ЗАПИСАТЬСЯ

ЗАПИСАТЬСЯ - это ссылка ведущая на создание ноды у которой есть поле DATE в которое бы значение
по умолчанию переопределялось в зависимости от того, на какое время кликнул в предыдущем списке

Соответсвенно если кто то уже создал ноду с этим временем, то список уже был бы такой

00:00 ЗАПИСАТЬСЯ
00:30 ЗАНЯТО
01:00 ЗАПИСАТЬСЯ
...
00:00 ЗАПИСАТЬСЯ

Кто как бы реализовал?

Комментарии

Аватар пользователя roman-yrv roman-yrv 30 ноября 2014 в 16:21

Так а в чем проблема ?
От начала даты проходишь циклом с шагом 1800 секунд и далее смотришь. Если уже есть нода с такой датой и временем, то выводишь "занято", иначе выводишь "Записаться".
А где ссылка "Записаться", там параметром передаешь время.
И при сохранении ноды проверять, чтобы у двух разных нод не было одинаковых даты и времени.
А пользователю возможности редактировать это время не давать.

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

Аватар пользователя andreystrelkov andreystrelkov 2 декабря 2014 в 12:50

"roman-yrv" wrote:
От начала даты проходишь циклом с шагом 1800 секунд и далее смотришь. Если уже есть нода с такой датой и временем, то выводишь "занято", иначе выводишь "Записаться".
А где ссылка "Записаться", там параметром передаешь время.

Это вы имеете ввиду в Views так сделать?

Аватар пользователя roman-yrv roman-yrv 2 декабря 2014 в 14:23

Я бы это без views, руками.
Цикл через оператор цикла, далее на каждой итерации проверять, существует ли нода с датой и временем и если уже существует, то "занято", иначе "записаться".
Информацию для вывода формировать с учетом render api и возможностей темизации.

Может быть, кому-то это сделать проще с помощью views.