We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 46644
    • 1 Posts
    Здравствуйте. Есть желание углубиться в изучение MODx. Для примера есть сайт. Хочу создать регистрацию пользователя в разные группы. Задано 2 группы, в административной панеле они созданы, для регистрации используется WebLoginPE. В его параметрах можно задать регистрацию пользователя в несколько групп. А как сделать так, чтобы пользователь мог выбрать в какую группу регистрироваться.

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

    попробовала создать сниппет

    <?php
    $output = '';
    //в таблице modx_webgroup_names заранее создала дополнительный столбец description
    $result = $modx->db->query( 'SELECT `name`,`description` FROM `modx_webgroup_names`');

    //Здесь выводим данные на экран в блоке регистрации
    while( $row = $modx->db->getRow( $result ) ) {
    $output .="<input name='name' type='radio' value='".$row['name']."' >".$row['description']."
    ";
    }
    echo $output;

    //А здесь уже начинает работать не так как надо

    //Я хочу в таблицу web_groups вставить значения столбца webgroup
    $table_name = $modx->getFullTableName( 'web_groups' );

    //при условии что пользователь выберет одно из значений $row['name']. Если он выбирает первое

    if( $row['name']=='group1' ) {
    //то в столбец webgroup пишем 1
    $fields = array('webgroup' => 1);
    }
    else {
    //если второе, то 2
    $fields = array('webgroup' => 2);
    }

    $modx->db->update( $fields, $table_name);
    ?>

    Но дальше я предполагаю создать дополнительные поля данных для пользователя и указала их. И этот снипет вместо того, чтобы добавить данные в таблицу web_groups, добавляет в таблицу созданную WebLoginPE с столбец name(не пойму почему именно в него) значения полей group1 или group2 в зависимости что выбрано при регистрации.

    name='name' - пробовала изменять,не в нем дело. insert пробовала использовать, но либо что-то не правильно написала, либо не дописала...но у меня вообще не сработал.

    Буду очень благодарна если у кого-то найдуться хоть какие-то предложения для решения вопроса.