Работа с формами PyroCMS

Я хотел бы изменить обязательные поля для регистрации и формы редактирования профиля в PyroCMS.

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

Может ли кто-нибудь указать мне на это?

Спасибо.


person ahlexander    schedule 19.08.2013    source источник


Ответы (1)


Предполагая, что вы используете 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