プロフィール項目の識別名にop_preset_は使えません 『正しくありません。』
OpenPNEのプロフィール項目を追加する際の識別名にop_preset_から始まるものは使えません。
このとき『正しくありません。』というエラーが出ますが、何が正しくないのか詳細がわからないため戸惑う人も多いようです。
op_preset_
とは、
OpenPNEのプリセット項目=前もってセットされた初期値
です。
このためカスタマイズによる追加の項目にこの名称を使用することはできません。
またop_preset_の項目を削除することはできますが、削除された同じ識別名を登録することはできません。
識別名 | 項目名 | 初期に投入される |
---|---|---|
op_preset_sex | 性別 | ○ |
op_preset_birthday | 誕生日 | ○ |
op_preset_region | 都道府県 | ○ |
op_preset_self_introduction | 自己紹介 | ○ |
op_preset_country | 国または地域 | × |
op_preset_postal_code | 郵便番号 | × |
op_preset_telephone_number | 電話番号 | × |
該当箇所
データベース
profileテーブルのnameカラム
カスタマイズの項目の項目名はprofile_translationテーブルで管理されていますが、プリセット項目は
/lib/config/config/preset_profile.yml
で管理されています。
また次のファイルで地域言語設定がされます。
/apps/api/i18n/messages.ja.xml
/apps/*/i18n/messages.ja.xml
初期に投入される項目は次のymlに記載されています。
/data/fixtures/001_import_profile.yml
country、postal_code、telephone_numberの3項目はここに含まれていないため、インストール時には含まれません。
コード
/lib/form/doctrine/ProfileForm.class.php 118行目
static public function validateName($validator, $values) { if (0 === strpos($values['name'], 'op_preset_')) { throw new sfValidatorError($validator, 'invalid'); } return $values; }
/lib/model/doctrine/Profile.class.php 82行目
/** * Checks if the profile is preset. * * @return boolean */ public function isPreset() { return (0 === strpos($this->getName(), 'op_preset_')); }
関連記事
- OpenPNEのバージョンを知る方法
- OpenPNE3のデータベースの設定
- ログインが必要なページを制限する方法
- globalNavとlocalNavのカスタマイズ(全体メニューとカテゴリごとのメニュー)
- ブロックのIDと場所
- データベーステーブルの構成を変更する カラムの追加など
- OpenPNE3のサーバ移行の方法
- Doctrineでモデルを作成する
- symfonyのORマッパ(Propel、Doctrine)
- ログイン中のメンバーID
- モバイル用の開発環境を作る方法(IP制限の解除、メールアドレスの登録)
- リンクメニューを管理している場所
- ログインできなくなるバグと修正方法
- インストール直後に設定されているユーザ情報を変更するSQL文
- member_configのname_value_hashのルール
- エラーレベルを変更する方法 (Deprecated: Function eregi() is deprecated)
- インストール時の解凍に失敗する Tarのバグ(PEAR/Archive/Tar.php)
- OpenPNE3はsymfonyベース
- Symfonyのインストール
- firesymfony Symfonyデバック用Firebug拡張[Firefox]
スポンサーリンク