1

PyroCMS の登録およびプロファイル編集フォームの必須フィールドを変更したいと考えています。

残念ながら、フォーム処理 (必須フィールドが渡される部分) を行うコードが見つかりません。

誰でも私にそれを指摘できますか?

ありがとう。

4

1 に答える 1

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'
    )
);

emaildisplay_nameは「ハードコードされた」プロファイル フィールドであるため、ユーザー モジュールによってネイティブに処理されます。残りは「ソフト」フィールドです。つまり、サイト管理者がコントロール パネルに追加/削除/編集できるということです。これらの「ソフト フィールド」は、Streams Core API によって処理されます。コードでそれらを管理する必要がないことを意味します。

ストリームのすべてのメタデータはデータベースに保存されます。default_data_streamsdefault_data_field_assignmentsおよびの3 つのテーブルが関係しています。default_data_fieldsここで、defaultはサイトのプレフィックスです。

カスタム プロファイル フィールドを追加して管理者として接続する場合はControl Panel > Users tab > Users > Profile fields、[ユーザー プロファイル フィールドの追加] をクリックします。フィールドが一意必須かどうかを確認できるフォームが表示されます。残りの検証は Streams によって処理されます。

本当にプログラムでそれを行う必要がある場合は、Streams Core API の開発者向けドキュメントを参照してください。

便利なリンク :

于 2013-09-02T13:35:50.383 に答える