Вычисление текущего возраста

Главные вкладки

Аватар пользователя operator operator 6 мая 2016 в 4:54

Задача: вычислять текущий возраст юзера при помощи виджета вычисления и втыкивать его в профиль юзера.

Вопрос №1: все сделано, возраст вычисляется, но никак не отрегулировать что бы число было натуральным (сейчас выглядет примерно так: 27.7324345324). как убрать точку и все после нее?

Вопрос №2: как сделать так что бы можно было сортировать анкеты по текущему возрасту?

спасибо!

Комментарии

Аватар пользователя operator operator 6 мая 2016 в 17:35

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

Аватар пользователя sas@drupal.org sas@drupal.org 6 мая 2016 в 17:49

Smile ребята, если Вы не хотите использовать стандартные форматы date для views в которых есть вычисление сколько лет с даты до текущей, то можете взять пушку для воробъем https://www.drupal.org/project/views_php, но никогда не говори = никогда !

Аватар пользователя sergeybelya sergeybelya 6 мая 2016 в 17:57

Видимо views тут не нужен, речь же о поле профиля юзера. Так а в чем проблема использовать кастомный форматтер, ссылку на код которого уже привели?

Аватар пользователя gun_dose gun_dose 6 мая 2016 в 17:59

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

Аватар пользователя operator operator 7 мая 2016 в 0:49

теперь задача сделать так, чтобы при сортировке по возрасту человек выбирал не год рождения, а возраст в формате типа "25 лет"

Аватар пользователя gun_dose gun_dose 7 мая 2016 в 2:00

Я так понял, имеется в виду не сортировка, а фильтрация выборки? Тогда нужны групповые раскрытые фильтры views. Там при добавлении фильтра сделать его групповым - это вроде предопределённых вариантов фильтра, которым можно дать названия вроде "25 лет" и т.д. А в самом значении фильтра поставить что-то вроде "now -25years"

Аватар пользователя sas@drupal.org sas@drupal.org 7 мая 2016 в 9:18

Ещё раз напишу для тех кто читает через строчку, вопрос решается во Views и без PHP. Форматерры можно создавать для date через его UI без кастомного кода.