Вот, допустим, у меня есть архив текстов. За некоторые тексты я знаю точную дату написания. Некоторые - примерную, а иные имеют период написания.
Но поле "date"(модуля Date) - не подразумевает пустых значений. Если поле остается пустым - модуль подставляет туда единицу.
Нужно, либо добавить в числа - значения: начало, середина, конец чтоб дата имела вид, например, - "конец января 1999"
И, видимо, тогда задать для этих значений параметры начало = 1-10 числа, середина 10-20 и т.д. чтоб по этим значениям тоже можно было тексты сортировать.
Или еще проще - как-то обмануть модуль, чтоб значение числа - было необязательным. Тогда некоторые даты просто не имели бы числа (просто "Январь 1999") ну, а при сортировке хай бы сортировались по первому числу - это меня тоже полностью устраивает.
Скажите - это делается стандартными средствами - или только напильником?
_________________________________
сайт про Веню Д'ркина. http://drdom.ru
Друпал осваиваю практически с нуля. php не знаю.
Комментарии
Ну, поле "Дата" - это, скорее, дата размещения материала.
Как вариант для вашей задачи: вы можете создать тип материала, который будет иметь три дополнительных поля: "год", "месяц", "период". То есть при создании материала данного типа будете выбирать из списка (или вводить) год, название месяца и значение из списка "начало", "середина", "конец". Можно использовать поля CCK типа дата (модуль data).
Вывод списка публикаций средствами Views тоже не составит труда: сортировка по году, затем по месяцу, затем по значению "период".
Где-то так..
Ухты, никак Дрдом осваивает новые технологии? Вообще и в статическом виде сайт выглядел неплохо, а теперь вот "сайт на техобслуживании". Лучшее - враг хорошего
В PHP есть функция strftotime, которая позволяет задавать даты в довольно свободно виде, в т.ч. неточно, но она работает только для английского языка. Под одну из старых версий друпал (кажется 4.6) я делал модуль для конвертации дат с русского (неполная поддержка возможностей strftodate), но к друпал 5-6 он уже не подойдёт. Могу поискать, если у кого-нибудь появится желание доработать.
Ага, то есть, стандартных средств для этого таки нет? Ну, поищи тогда, пжалуста модуль, а я поищу добровольцев на доработать...
Да, я как-то думал разобраться за недельку... да подзавис. (Ну, т.е. с вордпресом и e107 - недели хватало.)
Ну, как бы я модулями CCK, DATA и VIEW уже пользуюсь.
Собственно, про них и вопрос. Это именно модуль я и имел ввиду.
А если создать три отдельных числовых поля - то как по ним сортировать тогда?
Во Views (/admin/build/views/вашвид/edit) есть раздел "Условия сортировки" (последний, в самом низу). Там можно задавать порядок сортировки по разным полям.
2 vadbars>
Что-то мне сложно врубиться... эти условия разве зависимы друг от друга? То есть, сортировать по числам внутри месяцев, которые в свою очередь внутри "годов"? - это реально настроить просто условиями сортировки?
Это, а вот еще походу вопрос - а что за wysivyg редактор тут на сайте используется? Вот в котором я щас пишу?
А вы попробуйте. Может, я и ошибаюсь Тогда напишете здесь и мы все будем знать, что это невозможно.
Редактор - BUEditor,
нужно с помошью ССК сделать две даты и расчитываемое поле (computed field). Далее хитро задавать дату и отображать её в зависомости от того, как она задана.
Вот алгоритм:
- если даты одинаковые, светить эту дату;
- если различаются года, то "2005-2007 гг."
- если год одинаковый, но разные месяцы, то "январь-февраль 2006г."
- если год и месяцы одинаковые, то "12-17 июня 2007г."
Можно добавить галочку "Примерная дата". И/или "Диапазон дат" и в зависимости от их значения расчитывать значение.
В списках (views) надо делать сортировку по одному из полей.
Есть модуль daterange, который позволяет накладывать фильтр views на период. Подойдет?
Еще можно сказать модулю date, с какой точностью обрабатывать дату, но это действует на поле для всех материалов с этим полем. т.е. не получится в одном материале указать и дату, и месяц, а в другом только месяц
В конце концов сделал более тупо. Сделал два поля - одно текстовое для даты в свободном формате, оно показывается только в тексте, [в нем можно дописать еще и место] и сортировать по нему нельзя. А второе нормальное, Date - [сокращенное, без числа], и оно показывается только в виде и по нему можно сортировать.
Криво, но как-то так...