Jomsocial - Как добавить дополнительное поле на первой странице регистрации Jomoscial - PullRequest
0 голосов
/ 14 апреля 2011

Я изо всех сил пытаюсь взломать Jomsocial Registration по умолчанию. Проблема в том, что, если вы видите страницу регистрации jomsocial по умолчанию, она имеет все поля, которые есть в основной странице регистрации joomla по умолчанию. Имя, Имя пользователя, E-mail, Password, Verify Password.

Но я хочу добавить дополнительное поле на этой jomsocial странице. Прямо сейчас, если я добавлю дополнительное поле, используя пользовательский профиль, тогда пользователь должен нажать Next и перейти на следующую страницу, котораяЭто долгий процесс и дает высокий показатель отказов при регистрации пользователя.

Так что вы можете посоветовать мне то же самое, и еще одна вещь, например, если, скажем, мы добавим поле на странице регистрации Joomla по умолчанию, оно автоматически придетна первую страницу ...

Буду благодарен, если кто-нибудь поможет мне решить эту проблему.

Ответы [ 3 ]

3 голосов
/ 12 июля 2012

Пользовательское поле регистрации можно добавить на первой странице, выполнив процедуру (работает с joomla 2.5):

Шаг 1. Вам необходимо добавить поле, чтобы оно отображалось на первой странице (интерфейсная часть)), для этого перейдите в компоненты \ com_community \ templates \ default \ register.index.php

Теперь просто добавьте поле, так как другие поля есть, например (FIELD берется как имя поля, которое будет добавлено)

См. Пример здесь: Нажмите здесь!

Вы можете скопировать и вставить другие данные поля, а затем отредактировать для себя, тег метки показывает, как метка будет отображаться напередний конец, поле ввода показывает поле ввода, вы можете настроить размер, но не следует изменять идентификатор, имя (как это потребуется при сборе данных) и значение (иначе, чем замена предыдущего имени поля новым полемимя, где бы оно ни появлялось!), класс может быть отредактирован по мере необходимости, например, удаление 'required' сделает поле необязательным для заполнения, validate-FIELD используется, если вы хотите to проверить поле, используя некоторый скрипт для введенных значений, span - для отображения сообщения об ошибке ... теперь, когда вы добавили поле, чтобы оно появилось на первой странице, вам придется проделать некоторую работу, чтобы данные действительнозаносится в базу данных при отправке формы!Итак, перейдем к ---

Шаг 2: когда форма отправлена, данные не сохраняются в таблице prefix_users, но создается объект, который хранит временную информацию, а затем она сохраняется в com_community \ models\ register.php, теперь чтобы изменить объект и добавить еще одно поле, чтобы объект также содержал значение нашего поля, мы должны добавить в него одну строку, вы увидите код типа

$obj = new stdClass();
    $obj->name          = $data['jsname'];
    $obj->firstname     = isset( $data['jsfirstname'] ) ? $data['jsfirstname'] : '';
    $obj->lastname      = isset( $data['jslastname'] ) ? $data['jslastname'] : '';
    $obj->token         = $token;
    $obj->username      = $data['jsusername'];
    $obj->FIELD                 = $data['jsFIELD'];
    $obj->email         = $data['jsemail'];
    $obj->password      = $data['jspassword'];
    $obj->created       = $nowDate;
    $obj->ip            = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? 

в приведенном выше коде, в 7-й строке я добавил свое поле, чтобы объект также сохранял наше поле при отправке формы, теперь мы должны добавить одно поле в таблицу, где этот объект фактически хранится на мгновение, эта таблицаprefix_community_register

Таблица похожа на -

    1       id           int(10)      
    2   token        varchar(200)
    3   name         varchar(255)
    4   firstname    varchar(180)
    5   lastname     varchar(180)   
    6   username     varchar(150)   
    7   email        varchar(100)   
    8   password     varchar(100)   
    9   created      datetime       
    10  ip       varchar(25)        
    11  FIELD        int(11)    

11-е поле таблицы - это поле, которое мы добавляем, оно должно иметь то же имя, что и поле внутри объекта (например, если объектимеет $ obj-> age, имя поля в таблице тоже должно быть 'age'!), так что теперь, наконец, нам нужно постоянно хранить одни и те же данные в таблице prefix_users, so создать поле в таблице с тем же именем и атрибутами, когда регистрация будет завершена, значение будет также сохранено в таблице пользователей, тогда вы можете использовать это поле где угодно;)

0 голосов
/ 20 сентября 2013

Я на самом деле использую Jom Social и Joomla. Я использовал их довольно давно, и вот ссылка на ответ на этот вопрос.

Я не уверен, изменился ли он в 3.0 JomSocial, но это должно помочь. Jomsocial Custom Profile - Показать адрес электронной почты, использованный на первой странице регистрации, на второй странице регистрации

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

Хороший компонент для создания пользовательских форм, например http://fabrikar.com.

Надеюсь, эта информация поможет

0 голосов
/ 15 апреля 2011

Зайдите в Администратор -> Компонент -> Jom social -> Пользовательский профиль -> Новое поле.

Здесь вы можете легко добавить свое новое поле .. !!

Я думаю, это поможет тебе .. !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...