Дата

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

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

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

Комментарии

Аватар пользователя OldWarrior OldWarrior 11 июня 2011 в 4:23

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

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

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

Аватар пользователя Сьюз Сьюз 11 июня 2011 в 9:58

если у Вас стоит модуль 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.

Аватар пользователя iNFerNo iNFerNo 11 июня 2011 в 13:31

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

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

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

Аватар пользователя iNFerNo iNFerNo 11 июня 2011 в 14:25

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

Аватар пользователя OldWarrior OldWarrior 11 июня 2011 в 15:14

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

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

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

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

Аватар пользователя OldWarrior OldWarrior 11 июня 2011 в 15:18

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

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

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

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

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

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

Аватар пользователя OldWarrior OldWarrior 11 июня 2011 в 15:47

"iNFerNo" wrote:

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

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

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

Аватар пользователя iNFerNo iNFerNo 11 июня 2011 в 16:25

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

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

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

---

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

Аватар пользователя Dreick Dreick 30 января 2015 в 13:43

У меня такая же проблема. Скажите, если еще помните, вы нашли решение своего вопроса?