Профиль
Этот контроллер предназначен для редактирования профиля пользователя. Учитывая, что ваши пользователи заходят на сайт через email, им нужно будет заполнять свои данные, например Ф.И.О.
Также он позволяет сменить email, с обязательной проверкой.
Название | По умолчанию | Описание |
---|---|---|
&tplProfile | tpl.Office.profile.form | Чанк для вывода и редактирования профиля пользователя. |
&tplActivate | tpl.Office.profile.activate | Чанк для оформления письма активации. |
&profileFields | все основные поля профиля | Список разрешенных для редактирования полей юзера, через запятую. Также можно указать максимальну. длину значений, через двоеточие. Например, &profileFields=`username:25,fullname:50,email` . |
&requiredFields | username,email,fullname | Список обязательных полей при редактировании. Эти поля должны быть заполнены для успешного обновления профиля. Например, &requiredFields=`username,fullname,email` . |
&HybridAuth | 1 | Включить интеграцию с HybridAuth, если он установлен. |
&providers | Список провайдеров авторизации HybridAuth, через запятую. Все доступные провайдеры находятся тут {core_path}components/hybridauth/model/hybridauth/lib/Providers/ . Например, &providers=`Google,Twitter,Facebook` . | |
&providerTpl | tpl.HybridAuth.provider | Чанк для вывода ссылки на авторизацию или привязку сервиса HybridAuth к учетной записи. |
&activeProviderTpl | tpl.HybridAuth.provider.active | Чанк для вывода иконки привязанного сервиса HybridAuth. |
&avatarParams | {"w":200,"h":200,"zc":0,"bg":"ffffff","f":"jpg"} | JSON строка с параметрами конвертации аватара при помощи phpThumb. |
&avatarPath | images/users/ | Директория для сохранения аватаров пользователей внутри MODX_ASSETS_PATH . |
Точное значение параметра &profileFields по умолчанию:
username:50,email:50,fullname:50,phone:12,mobilephone:12,dob:10,gender,address,country,city,state,zip,fax,photo,comment,website,specifiedpassword,confirmpassword
Этот сниппет тоже имеет свою системную настройку со стандартным id, которая заполняется при его первом вызове. Если у пользователя нет имени и office_profile_page_id не пуста - юзер будет перенаправляться на эту страницу, пока не заполнит своё имя.
То есть, после первой авторизации через email, пользователь принудительно будет отправлен заполнять свой профиль, и пока не заполнит все требуемые поля - оттуда не выйдет.
Расширенные поля
Контроллер позволяет редактировать расширенные поля профиля пользователя, типа extended.some_field
. Для этого вам нужно:
Вывести их в форме
modx<label for="extended.some_field">Какое-то поле</label> <input name="extended[some_field]" value="[[+extended.some_field]]" id="extended.some_field">
Разрешить его для ввода
modx[[!OfficeProfile? &profileFields=`username:50,email:50,fullname:50,extended[some_field]` ]]
Обратите внимание, что поле extended
- это массив, поэтому при отправке формы оно указывается как extended[some_field]
, а при выставлении плейсхолдеров как extended.some_field
.
Фильтрация
Так как редактирование профиля пользователем позволяет ему сохранять разные данные в БД вашего сайта, которые потом будут выводиться в админке, а возможно, и на сайте - все эти данные принудительно фильтруются.
Правила такие:
- Обязательно вырезаются все HTML теги во всех полях, кроме
comment
. - Все поля, кроме
comment
, фильтруются регулярным выражения, указанным в системной настройке office_sanitize_pcre.