дата рождения пользователя

Не получается сохранить и вывести дату рождения пользователя, как это сделать?
Евгений
30 декабря 2020, 21:29
modx.pro
708
0

Комментарии: 10

Евгений Webinmd
31 декабря 2020, 00:39
+1
а как вы это делаете и у вас не получается?
    Евгений
    31 декабря 2020, 11:53
    0
    Я через Login обновления профиля, сделал обычный инпут с типом дата с названием dob и все, остальные пункты работают типо имени, пола. А дата рождения нет, при чем что попытался записать, оно вроде как записало, только 1970 год вместо 2020, ну и не выводит в это поле
      Евгений Webinmd
      31 декабря 2020, 12:17
      +1
      Гуглится за 2 минуты

      Добавить параметр
      &preHooks=`formatDob`

      Создать сниппет formatDob:
      <?php
      $dob = $hook->getValue('dob');
      $hook->setValue('dob',strtotime($dob));
      return true;
        Евгений
        31 декабря 2020, 13:51
        0
        для вывода тоже тогда сниппет делать нужно? потому что тоже выводит не так вроде. Если не сложно можете сказать как вывести верно?
          Евгений
          31 декабря 2020, 14:03
          0
          Если что выводится на этой же странице со сниппетом апдейт профиля
          Евгений
          02 января 2021, 12:30
          0
          Сможете подсказать?
            Евгений Webinmd
            02 января 2021, 13:45
            0
            не ну эт не серьезно. Есть в модх такие штуки как фильтры вывода, иначе называемые модификаторами вывода. Удобно используются с феномом, но на родном синтаксисе тож работает.
            Пример:
            [[+dob:date=`%Y`]]
            Либо
            [[*dob:date=`%Y`]]

            Либо
            [[*dob:strtotime:date=`%Y`]]

            %Y — это параметр даты.
            Все это описано в документации и даже переведено на русский язык.
      Артур Шевченко
      31 декабря 2020, 00:41
      0
      Поле называется dob. С помощью fenom выводится так $_modx->user.dob. Сохраняется как обычное поле ресурса или пользователя $user->set('dob', '12.12.2012');
        Евгений
        31 декабря 2020, 11:54
        0
        а с помощью Login обновление профиля, можно как-то?
          Артур Шевченко
          31 декабря 2020, 12:04
          0
          Простите, ввел вас в заблуждение, чтобы установить дату рождения надо её из строкового формата перевести или в объект даты, либо в штамп времени. А сейчас он у вас не понимает что вы хотите и ставит 01.01.1970 Как это через Login сделать не знаю. Я сам пишу этот функционал, благо там несложно. А вообще почитайте документацию по Login может там что-то есть.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10