1 Отредактировано Илья (09.02.2017 12:17:50)

Тема: Сделать необязательные поля при регистрации [Решено]

Здравствуйте, мне нужно что бы Поля Фамилия, Организация и Инн были не обязательными при регистрации. Скажите как мне быть?
Перегрузить user.inc.php или можно как то модулем?

Создаем собственный модуль

modules/userscustom/config/file.inc.php

<?php
namespace Userscustom\Config;
use \RS\Orm\Type;


class File extends \RS\Orm\ConfigObject
{
   
    
}

modules/userscustom/config/handlers.inc.php

<?php
namespace Userscustom\Config;
use \RS\Orm\Type as OrmType;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this->bind('orm.init.users-user');

    }

    
    public static function ormInitUsersUser (\Users\Model\Orm\User $user) 
    {
        $user['__surname']->removeAllCheckers();
    } 
        
}

modules/userscustom/config/module.xml

<?xml version="1.0" encoding="utf-8"?>
<config>
    <defaultValues>    
        <name multilanguage="true">Модернизация модуля users</name>
        <description multilanguage="true">Модуль делает необязательным поле Фамилия при регистрации</description>        
        <version>1.0.0.0</version>
        <author>My mod</author>      
    </defaultValues>
</config>

Повысить оценку Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

А чем Вас не устраивает использовать только вкладку без регистрации?

3 Отредактировано Илья (08.11.2016 15:31:57)

Re: Сделать необязательные поля при регистрации [Решено]

Закусило Александр, Мне нужна регистрация. А эти данные не всегда присутствуют

Повысить оценку Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

Да тогда можно перегрузкой полей user

5

Re: Сделать необязательные поля при регистрации [Решено]

Закусило Александр я так понимаю это отдельный модуль? а хук не подскажите?

Повысить оценку Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

orm.init.users-user

7 Отредактировано Илья (13.12.2016 10:00:04)

Re: Сделать необязательные поля при регистрации [Решено]

Скажите, почему не подцепляет созданный хук?По прежнему поле фамилия остается обязательным.
Созднный модуль и модуль "Пользователи" переустанавливал, "Исправить структуру БД" тоже делал

<?php
namespace Userscustoms\Config;
use \RS\Orm\Type as OrmType;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this->bind('orm.init.users-user');

    }

    
    public static function ormInitUsersUser (\Users\Model\Orm\User $user) 
    {
        $user->getPropertyIterator()->append(array(
        t('Основные'),
            'surname' => new Type\Varchar(array(
                'maxLength' => '100',
                'description' => t('Фамилия'),
            )),

        ));           
    }
        
}

Повысить оценку Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

А можно поподробней?Для чайников.
Тоже хочу фамилию убрать.

Повысить оценку Понизить оценку

9

Re: Сделать необязательные поля при регистрации [Решено]

В данном случае в вашем обработчике вы просто обновляете maxLength и description у существующего поля surname, а вам необходимо удалить ранее установленный checker. Для этого ormInitUsersUser должен содержать следующее:

    public static function ormInitUsersUser (\Users\Model\Orm\User $user) 
    {
        $user['__surname']->removeAllCheckers();
    }    

Повысить оценку Понизить оценку

10

Re: Сделать необязательные поля при регистрации [Решено]

Данный пример не работает

Повысить оценку Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

А у Вас точно этот хук отрабатывает?

12

Re: Сделать необязательные поля при регистрации [Решено]

Я проверял на странице регистрации юзера /register/ , уточните вы на этой странице проверяете?

Повысить оценку Понизить оценку

13 Отредактировано Илья (28.12.2016 10:27:33)

Re: Сделать необязательные поля при регистрации [Решено]

admin, Да спасибо, пропустил одну букву в namespace

Повысить оценку Понизить оценку

14 Отредактировано Илья (28.12.2016 10:27:46)

Re: Сделать необязательные поля при регистрации [Решено]

Владимир 1916,

modules/userscustom/config/file.inc.php

<?php
namespace Userscustom\Config;
use \RS\Orm\Type;


class File extends \RS\Orm\ConfigObject
{
   
    
}

modules/userscustom/config/handlers.inc.php

<?php
namespace Userscustom\Config;
use \RS\Orm\Type as OrmType;

class Handlers extends \RS\Event\HandlerAbstract
{
    function init()
    {
        $this->bind('orm.init.users-user');

    }

    
    public static function ormInitUsersUser (\Users\Model\Orm\User $user) 
    {
        $user['__surname']->removeAllCheckers();
    } 
        
}

modules/userscustom/config/module.xml

<?xml version="1.0" encoding="utf-8"?>
<config>
    <defaultValues>    
        <name multilanguage="true">Модернизация модуля users</name>
        <description multilanguage="true">Модуль делает необязательным поле Фамилия при регистрации</description>        
        <version>1.0.0.0</version>
        <author>My mod</author>      
    </defaultValues>
</config>

Повысить оценку +3 Понизить оценку

Re: Сделать необязательные поля при регистрации [Решено]

Отлично! Вы молодец!