Forumlar / National / Russian / Сборка «Фриланс-биржа» / сколько прошло времени из экстраполя

foxss
#1 2017-07-15 05:32

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

в общем то, мне надо соорудить поле "стаж работы".

=============================

создать поле datetime и в шаблоне вывести {MY_EXTRAFIELD|cot_build_timeago($this)} работает, но мне этот вариант не подходит    т.к. кроме месяца и года требует еще ввода дня, часов и минут.

===========

буду рад любым идеям...

Roffun
#2 2017-07-15 16:03

В настройках экстраполя datetime есть HTML-код поля:

{$day} {$month} {$year} {$hour}: {$minute}

Это формат который будет выведен. Можно убрать то что не нужно, оставить месяц год например:

 {$month} {$year}

 

 

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
foxss
#3 2017-07-15 20:17
#42966 Roffun:

В настройках экстраполя datetime есть HTML-код поля:

{$day} {$month} {$year} {$hour}: {$minute}

Это формат который будет выведен. Можно убрать то что не нужно, оставить месяц год например:

 {$month} {$year}

 

 

пробовал.... тогда не срабатывает cot_build_timeage, даже больше, данные в поле вообще не сохраняются.

т.е. ставиш например февраль 2007, сохраняеш, нажимаеш правка, а там прочерки.

вобщем решил таким костылем

в HTML-код поля пишем

<span id="agejob"> {$day} </span>{$month} {$year}<span id="agejob1"> {$hour}: {$minute}</span>
<script>$('#agejob1 option[value="00"]').prop('selected',true);
$('#agejob option[value="1"]').prop('selected',true);
$('#agejob,#agejob1').css({"display": "none"});</script>

в шаблоне пишем

 {MY_EXTRAFIELD|cot_build_timeago($this)}

чтобы избавится в выводе от слова "назад"
в файле functions.php строка 1930

return cot_builder_timegap($time) . ' '. $L['Ago'];

меняем на

return cot_builder_timegap($time);

чтобы максимально доступный год для выбора всегда был равен текущему году
в файле "./system/extrafield.php" строка 83
$max = (int)$max > 0 ? $max : 2030;
меняем на
$max = (int)$max > 0 ? $max : date("Y");

в админке в "параметры поля" пишем
1970, date("Y")