-
- 57 Posts
ДД! Мне необходимо заставить MODX хранить данные TV переменной в формате UNIXTIME
Замечу, что переменная CREATEDON как раз так и хранится
Но с TV -параметром я пробовал менять виджет на unixtime, разные модификации dateformatter - modx на все плюет и сохраняет дату исключительно как %d-%m-%Y %H:%M:%S
Из-за этого я не могу правильно сортировать и сравнивать диапазоны в запросе MySQL
Помогите, как нормально перевести дату в формат UNIXTIME или хотя бы чтобы он сохранял в стандартном MySQL-виде типа %Y-%m-%d
-
- 57 Posts
Не найдя красивого и правильного решения, нашел некрасивое.
Возможно вскоре вылезет какой-либо косяк, но пока работает. Заменил в некоторых файлах папки /manager вывод всех дат (и соответственно запись их в БД) с вида DD-MM-YYYY в вид YYYY-MM-DD. Так стало намного проще корректно сортировать даты и работать с диапазонами. Теперь все даты сохраняются в базе в нужном мне виде. Замечу, что даты которые не подвержены редактированию (создание, редактирование документа) сохраняются в базе в формате unixtime
Кому интересно - измененные файлы в архиве. Нужно только перезаписать существующие в папке /manager. После этого, если у вас уже были забиты даты и отображаются в старом виде, скрипт начнет ругаться при попытке их отредактировать. Чтобы их изменить - обнулите поле с датой и выбирете дату вновь из календаря.
ВНИМАНИЕ!!! Данное решение почти наверняка содержит ошибки, способные повлиять на работу стандартных и не стандартных модулей, плагинов и сниппетов. Работу с различными ditto и прочими решениями не тестировал!!! Если решитесь попробовать - не забудьте создать резервную копию существующих файлов и пользуйтесь этим решением на свой страх и риск
-
- 57 Posts
10 дней с момента вышеописанных изменений - полет нормальный. Все другие сниппеты и плагины работают правильно