Дата

11 июня 2011 в 1:43
Аватар пользователя iNFerNo iNFerNo 0 15

Существует ли возможность задавая год месяц день заполнять не все три параметра а любые например один год или год и месяц (просто иногда дня не помнишь, а примерно месяц и год можно прикинуть). Так вот что бы можно было задать 1-2 значения даты и что бы вместо не заполненных не вылезали нули или еще чего-то...

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

Комментарии

"iNFerNo" wrote:
Существует ли возможность задавая год месяц день заполнять не все три параметра а любые например один год или год и месяц

Нет, насколько мне известно.

Возможно, через хуки (т.е. из своего модуля) можно как-то попытаться произвольно обрабатывать поле date.

11 июня 2011 в 4:23

если у Вас стоит модуль Date, можно создать новые форматы отображения даты. administer/site configuration/date and time/formats/add new format (там в подсказке ссылка на страницу, где прописаны php-коды для времени - в соответствии с ними ставите нужные Вам буквы). После этого переходите там же во вкладку configure, создаёте новый формат ("Год", "месяц" или чего ещё надо) и присваиваете ему только что созданный тип отображения.
Затем в ССК поле при создании поля Год выбираете тип Date - text field with custom input format. В настройках поля в Default Display выбираете свой формат.
Как-то так...

Кстати, если Вы создали формат, а он не отражается в Default Display, тогда сходите в Perfomance в админке и внизу страницы нажмите кнопку Clear cached data.

11 июня 2011 в 9:58

это все понятно. но заполнять то нужно все три поля...
но мне нужно заполнять для одного ноды 3 поля для другой 2 поля для еще другой опять три... но на выходе всегда выводить год месяц день при этом что бы если не заполнено что бы не выводились НУЛИ или что там выводится. Дело то не в формате (формат это же прост ов нешний облик на странице).

11 июня 2011 в 13:31

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

11 июня 2011 в 14:15

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

11 июня 2011 в 14:25

Создайте три чекбокса рядом с полем даты:

1)учитывать год
2)учитывать месяц
3)учитывать день

И просто включайте нужное Smile

Но правда, всё равно тогда придётся писать хук-процедуру.

11 июня 2011 в 15:14

Тут ещё сложность в том, что date хранит дату в виде UNIX-таймштампа (если я ничего не путаю).
Поэтому невольно потребуется пост-обработка, с тем, чтобы преобразовать формат даты с учетом включенных чекбоксов.

11 июня 2011 в 15:18

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

11 июня 2011 в 15:32

чибоксы а если юзер забудет включить то что... за всеми править... это не дело.

в идеале нужно просто три окошка для года меясца и дня что знаешь заполняешь и все...

11 июня 2011 в 15:33

"iNFerNo" wrote:

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

Это ещё почему? Всё сортируется.

Я вам просто предложил решение, при котором вы ещё и сможете решать, выводить ли месяц, день (в зависимости от чекбоксов).
Если для какой-то записи месяц или день неизвестны и должны игнорироваться - сбросить соответствующие флажки у чекбоксов. А на уровне темы сделать простейшую обработку, в которой читать состояние чекбоксов и соответственно форматировать вывод date().

11 июня 2011 в 15:47

Если поле дата одно то да возможно не пробывал.

а если два поля то если сортировать по одному потом по другому . ноды же наверное не будут перемешиваться между собой.

Вы предлагаете это для одного поля дата + чибоксы? которые нужно кликать (это же лишние не нужные действия)

---

еще раз повторюсь для 1 поля дата при создании материала если не знаешь из трех параметров месяц и день (год должен быть по дефолту заполняемым, без этого нода не засейвится) то при не заполнении они как минимум не должны отображаться в виде нулей на страницах (про бд молчу, там полная дата сохраняется наверное)

11 июня 2011 в 16:25