Задача: вычислять текущий возраст юзера при помощи виджета вычисления и втыкивать его в профиль юзера.
Вопрос №1: все сделано, возраст вычисляется, но никак не отрегулировать что бы число было натуральным (сейчас выглядет примерно так: 27.7324345324). как убрать точку и все после нее?
Вопрос №2: как сделать так что бы можно было сортировать анкеты по текущему возрасту?
спасибо!
Комментарии
Ставьте https://www.drupal.org/project/date , отлично форматируется и рабоатет с связке с https://www.drupal.org/project/views
естессно стоит дэйт. он входит в стандарт друпала я считаю. но нету в дейте такой функции. поэтому и пришлось ставить виджет вычисления.
но не решает поставленную задачу.
в date не форматтера для возраста
https://gist.github.com/kalabro/4359431
вот вот
Видимо views тут не нужен, речь же о поле профиля юзера. Так а в чем проблема использовать кастомный форматтер, ссылку на код которого уже привели?
Модуль вьюс пхп снижает быстродействие сайта и карму разработчика
+1
будь добр. приведи пример date + birrthday.
Для округления в пхп предусмотрена специальная функция под названием round. А сортировать придётся не по возрасту, а по дате рождения, т.к. по вычисляемым полям вьюс без костылей не сортирует. А вывести возраст во вьюсах можно выводя дату рождения и пересчитывая её в шаблоне поля вьюса
СПАСИБО!!!
теперь задача сделать так, чтобы при сортировке по возрасту человек выбирал не год рождения, а возраст в формате типа "25 лет"
Я так понял, имеется в виду не сортировка, а фильтрация выборки? Тогда нужны групповые раскрытые фильтры views. Там при добавлении фильтра сделать его групповым - это вроде предопределённых вариантов фильтра, которым можно дать названия вроде "25 лет" и т.д. А в самом значении фильтра поставить что-то вроде "now -25years"
Ещё раз напишу для тех кто читает через строчку, вопрос решается во Views и без PHP. Форматерры можно создавать для date через его UI без кастомного кода.
Алтер формы и формула расчета - таймстамп в возраст