Forums / National / Russian / User Group - код для отображенеия группы

piparkuka
#1 2020-05-12 11:39

Привет

помогите найти доку по User Group, плагин включен, но не могу найти манаул, по тому, как включить в шаблоне переключатель (выборку категорий)

Использую полностью переписанную тему

Kopusha
#2 2020-05-12 12:43

Usergroupselector?

Added 42 seconds later:

Для начала определим какие основные группы пользователей будут доступны при регистрации пользователей на вашем сайте.

По-умолчанию при установке плагина Usergroupselector создается две дополнительные группы: фрилансеры и работодатели. Чтобы установить эти группы основными нужно в настройках этого плагина выбрать их в выпадающем списке.

Также в этом плагине можно настроить правила как должен работать выбор группы. Например, первый параметр отвечает на возможность изменять группу через профиль пользователя. Если включена эта опция, то пользователь в любой момент сможет сменить свою группу через настройки своего профиля. Второй параметр отвечает за обязательность выбора группы. Он требуется когда например на вашем сайте необходимо обязательно разделить пользователей на группы. На некоторых сайтах нет необходимости в таком разделении, именно поэтому мы сделали такую опцию для настройки.

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



 

Теперь, что касается шаблона регистрации пользователей. Этот шаблон называется users.register.tpl, он расположен в папке вашей темы, например themes/bootlance/modules/users.register.tpl

В исходном файле выбор группы осуществляется через радиоинпуты, но в новой редакции биржи мы немного усовершенствовали код, отвечающий за этот выбор, и сделали его универсальным. Таким образом выбор группы через радиоинпуты можно заменить на выпадающий список, либо сделать разные страницы регистрации для разных групп пользователей. Рассмотрим эти возможности более детально.

1. Как сделать выбор группы через выпадающий список (select)

Для этого нужно просто заменить тэг {USERS_REGISTER_GROUPSELECT}  на тэг {USERS_REGISTER_GROUPSELECTBOX}

 

 

2. Как сделать отдельные страницы регистрации для разных групп пользователей

В этом случае нужно выполнить немного сложные действия. Но если вас это не пугает, то let`s go!

1.  Для начала нужно изменить главную страницу регистрации, чтобы на ней выводились ссылки на формы регистрации выбранных групп. Для этого мы изменим код шаблона users.register.tpl:

<!-- BEGIN: MAIN -->

    <div class="breadcrumb">{USERS_REGISTER_TITLE}</div>
    <div class="well" style="padding-left: 50px;">
        <div class="input-prepend input-append">
            <div class="btn-group">
                <!-- BEGIN: USERGROUP_ROW -->
                <a href="{USERGROUP_ROW_ALIAS|cot_url('users', 'm=register&usergroup='$this)}" class="btn btn-large span5<!-- IF {USERGROUP_ROW_ACTIVEID} --> active<!-- ENDIF -->">{USERGROUP_ROW_TITLE}</a>
                <!-- END: USERGROUP_ROW -->
            </div>
        </div>
    </div>

<!-- END: MAIN -->
Из этого кода видно, что цикл USERGROUP_ROW создает список ссылок на страницы регистрации в зависимости от выбранной группы. В ссылках появляется еще один параметр usergroup, который как раз и определяет выбранную группу.

2. В новой редакции плагина Usergroupselector можно создавать свои шаблоны для разных групп пользователей. Например, если у вас группа фрилансеров имеет псевдоним freelancer, то отдельная страница регистрации должна иметь шаблон с именем файла: users.register.freelancer.tpl, для группы работодтелей (employer), шаблон будет называться users.register.employer.tpl

Стандартный код этих шаблонов будет следующим:

<!-- BEGIN: MAIN -->

    <div class="breadcrumb">{USERS_REGISTER_TITLE}</div>
    <div class="well" style="padding-left: 50px;">
        <div class="input-prepend input-append">
            <div class="btn-group">
                <!-- BEGIN: USERGROUP_ROW -->
                <a href="{USERGROUP_ROW_ALIAS|cot_url('users', 'm=register&usergroup='$this)}" class="btn btn-large span5<!-- IF {USERGROUP_ROW_ACTIVEID} --> active<!-- ENDIF -->">{USERGROUP_ROW_TITLE}</a>
                <!-- END: USERGROUP_ROW -->
            </div>
        </div>
    </div>
    <div class="well">
        {FILE "{PHP.cfg.themes_dir}/{PHP.cfg.defaulttheme}/warnings.tpl"}
        <form name="login" action="{PHP.usergroup|cot_url('users', 'm=register&a=add&usergroup='$this)}" method="post" enctype="multipart/form-data">
            <input type="hidden" name="ruserusergroup" value="{PHP.usergroupid}" />
            <table class="table">
                <tr>
                    <td class="width30">{PHP.L.Username}:</td>
                    <td class="width70">{USERS_REGISTER_USER} *</td>
                </tr>
                <tr>
                    <td>{PHP.L.users_validemail}:</td>
                    <td>
                        {USERS_REGISTER_EMAIL} *
                        <p class="small">{PHP.L.users_validemailhint}</p>
                    </td>
                </tr>
                <tr>
                    <td>{PHP.L.Password}:</td>
                    <td>{USERS_REGISTER_PASSWORD} *</td>
                </tr>
                <tr>
                    <td>{PHP.L.users_confirmpass}:</td>
                    <td>{USERS_REGISTER_PASSWORDREPEAT} *</td>
                </tr>
                <tr>
                    <td>{USERS_REGISTER_VERIFYIMG}</td>
                    <td>{USERS_REGISTER_VERIFYINPUT} *</td>
                </tr>
                <!-- IF {USERS_REGISTER_USERAGREEMENT} -->
                <tr>
                    <td>{PHP.L.useragreement}</td>
                    <td><label class="checkbox">{USERS_REGISTER_USERAGREEMENT} *</label></td>
                </tr>
                <!-- ENDIF -->
                <tr>
                    <td></td>
                    <td>
                        <button class="btn btn-primary btn-large">{PHP.L.Submit}</button>
                    </td>
                </tr>
            </table>
        </form>
    </div>

<!-- END: MAIN -->

Этот код немного отличается от исходного кода регистрации в исходниках, так как нам нужно зафиксировать выбранную группу в форме через скрытый инпут и изменить аттрибут ACTION в форме, чтобы данные отсылались в соответствии с выбранной группой:

<form name="login" action="{PHP.usergroup|cot_url('users', 'm=register&a=add&usergroup='$this)}" method="post" enctype="multipart/form-data">
            <input type="hidden" name="ruserusergroup" value="{PHP.usergroupid}" />

 

piparkuka
#3 2020-05-12 13:46

как я лпонимаю, это только при регистрации?

В самом профиле нельзя?

Kopusha
#4 2020-05-12 14:10

я не пользовался плагином

искать Hooks=users.profile.main и от него плясать. Возможно клонировать какой то user.edit в user.profile

 

piparkuka
#5 2020-05-12 14:39

Все, разобрался, сапсибо!