バージョン選択
フォーラム
メニュー
オンライン状況
|
|
64 人のユーザが現在オンラインです。 (51 人のユーザが フォーラム を参照しています。) |
|
|
フロント機能
投稿者 |
スレッド |
ゲスト |
投稿日時: 2008/2/15 14:58
対応状況: −−−
|
|
会員登録の項目追加・削除をしたい 会員登録の項目追加・削除をしたいと思っています。 どうもEC-CUBEと直接関係ない様ですが、いま詰まってしまって困っています。 index.php→index.php(confirm)→compelet.phpと進んで完了メールも配信されます。 でもDBには追加した項目だけが反映されません。元々ある項目は反映されます。
まず環境ややった事を挙げます。
1. EC-CUBE-2.01、CentOS4標準(apache-2.0.52、PHP-4.3.9、PostgreSQL-7.4.19) 2. dtb_customerに列を追加しました。不要列の削除はしていません。 3. /data/class/pages/entry/LC_PageEntry.phpのカスタマイズ 3-1 function process()内 $arrRegistColumnに追加したい項目の配列を追加。 column列の要素には2.の列名と同じ文字列が入っています。 3-2 $arrRejectRegistColumnのカスタマイズ 不要な項目を追加しました。 3-3 Smartyテンプレートカスタマイズ /html/Smarty/templates/default/のindex.tpl、confirm.tplをカスタマイズ
もう少し詳しく問題の状況を書きます。
4. index.php(confirm)の画面で、HTMLソースを見ると <input type="hidden" name="xxxxxx"・・・と意図したとおりに POSTされています。
5. function lfRegistData()に渡される引数の変数・配列を見てみました。 ページが変わるところなのでvar_dumpでの表示は使えません。 /tmp/にファイルを作り書き出してみました。 $array・・・POSTされた項目名と値 $arrRegistColumn・・・DBに登録する列名 $arrRejectRegistColumn・・・DBに登録しない列名 すべて意図したように入っているようです。
これら引数を使った処理プログラムがあります。 // 登録データの生成 foreach ($arrRegistColumn as $data) { if (strlen($array[ $data["column"] ]) > 0 && ! in_array($data["column"], $arrRejectRegistColumn)) { $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; } }
この後で$arrRegistを書き出してみると追加した項目が入っていませんでした。 この関数のもう少し下のほうにSC_Query()オブジェクトが定義されて、insertメソッドが呼び出されています。 その手前で配列生成に失敗しています。
mobile関係もやる予定ですが、そちらまで手が回っていないので変更はしていません。 何か根本的な勘違いをしているかもしれません。 皆さんのお知恵を拝借したく質問いたしました。
|
|
|
|
統計情報
総メンバー数は89,036名です
総投稿数は110,020件です
|