Предполагая, что вы используете PyroCMS 2.2.3 Community:
Форма «редактировать профиль» обрабатывается модулем «Пользователи».
- Просмотр :
system/cms/modules/users/views/profile/edit.php
- Контроллер
system/cms/modules/users/controllers/users.php
, метод edit
(строка 649).
В начале кода вы можете увидеть правила проверки.
$this->validation_rules = array(
array(
'field' => 'email',
'label' => lang('user:email'),
'rules' => 'required|xss_clean|valid_email'
),
array(
'field' => 'display_name',
'label' => lang('profile_display_name'),
'rules' => 'required|xss_clean'
)
);
email
и display_name
являются "жестко закодированными" полями профиля, поэтому они изначально обрабатываются модулем "Пользователи". Остальные поля являются «мягкими», я имею в виду, что они могут быть добавлены/удалены/отредактированы админами сайта в Панели управления. Эти «мягкие поля» обрабатываются Streams Core API. Это означает, что вам не нужно управлять ими в коде.
Все метаданные потоков хранятся в базе данных. Задействовано 3 таблицы: default_data_streams
, default_data_field_assignments
и default_data_fields
, где default
— префикс вашего сайта.
Если вы хотите добавить некоторые настраиваемые поля профиля, а затем подключитесь как администратор, перейдите на Control Panel > Users tab > Users > Profile fields
и нажмите «Добавить поле профиля пользователя». У вас появится форма, в которой вы сможете указать, является ли поле уникальным и обязательным. Остальная часть проверки обрабатывается Streams.
Если вам действительно нужно сделать это программно, см. документацию разработчиков Streams Core API.
Полезные ссылки :
person
Tristan Jahier
schedule
02.09.2013