We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10693
    • 2 Posts
    Добрый день!

    Совсем запутался.

    Как сделать так, чтобы форма для Eform (Реализую вопросы и ответы) показывалась бы только зарегистрированным пользователям?

    Заранее благодарю!
      • 29487
      • 385 Posts
      Если нужно показывать форму для определённой группы/групп пользователей, то:

      Вариант 1. Вставить в сниппет eForm в самом начале строчку:
      if (isset($groups) && !$modx->isMemberOfWebGroup(explode(",", $groups))){return '';}

      И вызывать eForm с параметром &groups=`myWebgroup`

      Либо можно написать сниппет типа
      if (isset($groups) && $modx->isMemberOfWebGroup(explode(",", $groups))){$modx->runSnippet('eForm', array(...));}

      и вызывать его опять же с параметром &groups=`myWebgroup`

      Вариант 2. Если на сайте используется PHx:
      [+phx:mo=`myWebgroup`:then=`[!eForm...!]`+]


      Если группа не важна, то:

      Вариант 1. Вставляем в сниппет eForm в самом начале строчку:
      if (isset($onlyreg) && !$modx->getLoginUserID()){return '';}
      И вызывать eForm с параметром &onlyreg=`1`

      Либо можно опять же написать сниппет типа
      if ($modx->getLoginUserID()){$modx->runSnippet('eForm', array(...));}


      Вариант 2.
      [+phx:if=`[!web_user_id!]`:ne=``:then=`[!eForm...!]`+]

      перед этим нужно создать сниппет web_user_id с кодом
      <?php return $modx->getLoginUserID();?>


        • 10693
        • 2 Posts
        Спасибо большое!

        Пробую.