Поле "дата"

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 4 октября 2017 в 17:30
Здравствуйте!
На форуме ответ нашел только для первой ветки, поэтому решил создать еще одну тему.
Подскажите, пожалуйста, как расширить диапазон годов в поле "дата". На данный момент есть варианты с 1976 по 2022 годы. Мне же нужно гораздо шире.
#2 4 октября 2017 в 18:50
Если для возраста то там есть специальное поле
#3 4 октября 2017 в 20:24

Мне же нужно гораздо шире

Нэттинел
1. В файле templates/default/assets/fields/date.tpl.php в строке 7 есть число "86400". Замените его на "-31536000000" — это минимальная дата 1000 лет назад от 1970 в секундах. Всё примерно конечно же.
2. Скопируйте файл system/libs/template.helper.php в папку templates/вашшаблон/assets под именем helper.php, откройте его и в строке примерно 205 найдите
  1. 'yearRange' => '1976:'.date('Y', strtotime('+5 year')),
и замените на
  1. 'yearRange' => '-500:'.date('Y', strtotime('+500 year')),
где -500 и +500 — это сколько лет назад и вперед от текущего.

Если нужен еще больший диапазон, то добавьте в п.1 в то число еще с пару-тройку нулей.
#4 4 октября 2017 в 22:03
Я попробовал этот способ, но если дату ставить ранее 1970 года выдает такое:
#5 4 октября 2017 в 22:09
Yar,
В Вашем случае я бы посоветовал просто поставить тип поля "Дата издания" строка.
#6 4 октября 2017 в 22:43
Ris, В конце концов, когда-то, я так и сделал. Но проблема в поиске. По полю "Дата" можно искать. Если написать в строке, например 20.09.1966, то искать в определённом диапазоне не получится.
1976 уж это ну совсем прям маловато будет, действительно smile
#7 5 октября 2017 в 09:38
DK, к сожалению, получилось как описал Yar. Выбор более широкого диапазона лет появился в создании записи. Но после публикации вместо года выводит "-0001". sad
#8 5 октября 2017 в 10:09

к сожалению, получилось

Нэттинел
да я проверил уже, так и есть)) Ну, выбор даты нашли, как сделать. Осталось теперь только найти, как выбранную дату нормально сохранить))
#9 29 декабря 2017 в 03:24
Подниму тему
#10 29 декабря 2017 в 07:42
Извините, а можно один простой вопрос?
<?php echo date("j m Y — H:i:s"); ?> Выводит дату/время на сервере.
Как вывести дату/время сайта (настраивается в админке)?
Как вывести дату/время пользователя (настраивается в профиле)?
#11 29 декабря 2017 в 09:25
Pocus, это все делается за вас. Например, строкой

  1. date_default_timezone_set( $config->time_zone );
в bootstrap.php

Используйте date в вашем коде. Создайте второго пользователя с другой временной зоной. И зайдите им в другом браузере. Увидите, что он видит время с учетом разницы временных зон.
#12 29 декабря 2017 в 13:52
Нэттинел, могу ошибаться, scratchно вроде надо поправить тип поля в таблице вашего типа контента
т.е. в cms_con_СистемноеИмяТипаКонтента найти поле даты с системным именем которое вы дали
и сменить его тип с timestamp на datetime
#13 29 декабря 2017 в 15:12


Нэттинел, могу ошибаться, scratchно вроде надо поправить тип поля в таблице вашего типа контента
т.е. в cms_con_СистемноеИмяТипаКонтента найти поле даты с системным именем которое вы дали
и сменить его тип с timestamp на datetime

Sonat

Изменил на date — теперь отображается корректно. Спасибо Вам огромное! И с Наступающим!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.