質問 > 管理機能 > v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
orign |
投稿日時: 2008/7/19 3:00
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2007/12/20 居住地: 投稿: 46 |
v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 どなたか、お知恵を貸してください。
商品データベースからの「データ読み込み」に関係する問題です。 (改造ベースは2.0.1、データベースはポスグレ) ちょっと用があり、「商品管理画面」→「商品登録画面」に2入力欄を追加しました。 もともと有る「詳細メインコメント」欄のプログラムをコピーして、同じ欄を2つ追加した形です。 データベースカラム名は、もとがmain_commentでしたの単純にmain_comment2と3にして、カラム追加を行いました。 修正したファイルは、下記の4ファイルです。 product.tpl comfirm.tpl LC_Page_Admin_Products_Product.php SC_DB_DBFactory_MYSQL.php (←ウチはポスグレなので関係ないはずですが一応。) データベースは dtb_product 改造後、商品登録画面にて商品情報を入力し、商品登録確認ページに移行し、「この内容で登録する」ボタンを押し、登録を実行します。 追加した2欄分の動作も含めて、ここまでの画面上の表示などに問題はありません。 しかし、登録した商品情報を再度「編集」で開いてみると、追加した2欄分だけ空白となっています。 調べた結果、データベース上では、その2欄分データも追加したカラムに正しく登録されていました。 つまり、編集ボタンを押して登録画面が表示される際の、データ読み込みになにかミスがあると言うことです。 自分なりに調査しましたが、どうにも判りません。 ウチはポスグレのため、MYSQL関連ファイルは関係ないだろう?と思いつつ、一応変更してみましたが結果は変わらず。 情けない話ですが、単にデータベースからデータを読み込む処理を追えば判るだろうと一日追ってみましたが、さっぱり理由が判りません。 なにか、ものすごく単純な見落としのような気がしますが、どなたか思い当たる事がありましたらご教授願います。 |
ramrun |
投稿日時: 2008/7/19 9:16
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 まず、商品管理の商品マスタで検索し、見つけた商品の[編集]をクリックすると、mode=pre_editとproduct_idがpostされる。
で、LC_Page_Admin_Products_Product.phpのselect caseへ。 data/class/pages/admin/products/LC_Page_Admin_Products_Product.php pre_editでbreakしていないので、下のcopyの処理が実行される。 そこにある$this->lfGetProduct($_POST['product_id'])で商品情報を取得。 lfGetProductでvw_products_nonclassを利用している。 MySQLではSC_DB_DBFactory_MYSQL.phpで変換されているが、PostgreSQLでは html/install/sql/create_view.sql でインストール時にビューが作成されている。 ということで、ポスグレのビューを直せばよろしいのではないでしょうか。 |
orign |
投稿日時: 2008/7/19 18:02
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2007/12/20 居住地: 投稿: 46 |
Re: v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 早速のご教授ありがとうございました。
やはりポスグレ用にも同じような定義が有ったんですね。 それで早速調べてみました。 MYSQL用にあるのに、なぜポスグレ用がないのか疑問でしたので、「これで解決か?」と。 ところが、htmlフォルダ下にinstallフォルダが存在しません。 ではどこに?と調べてみたところ、私のサーバー環境ではpublic_htmlフォルダと同じ層にinstallフォルダが単独で存在してました・・・。 (だから、grep検索でヒットしなかったことが判りました。) 試しに、そのinstallフォルダ内のcreate_view.sqlファイル内のmain_comment定義が書かれている箇所をコピーペーストでcomment2/3分を追加してみました。 しかし、結果としてはやはり読み出せないようです。 どこか別の場所にinstallフォルダかそれに類するモノが隠されているのでしょうか? そのあたりの理屈がお分かりの方がいましたら、是非ともご教授願います。 よろしくお願いします。 |
ramrun |
投稿日時: 2008/7/19 20:43
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 どうも話が伝わっていないようで...
多分、PostgreSQLとVIEWについて、先に調べてもらったほうがよいと思います。 で、結論からいうとcreate_view.sqlを直してもダメですよ。 それはインストールのときに一度使われるだけ。 psqlやphpPgAdminとかでdrop viewしてから、 そのcomment2/3を追加したcreate viewを実行するか、 あらかじめそのSQL文を書いたファイルを用意しておいて psql -e eccube_db < hogehoge.sql とかしてください。 installフォルダがpublic_htmlの外に出ているのは、 多分それをインストールした方がインストール完了後に 移動したのでしょう。 セキュリティ的に、また何かあったときのために。 |
orign |
投稿日時: 2008/7/19 23:15
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2007/12/20 居住地: 投稿: 46 |
Re: v2.0.1 商品情報登録にカラム追加したのですが、データが読めません・・・。 早速のご指摘ありがとうございました。
恥ずかしい話ですが、ポスグレがそういった構造とは今まで知りませんでした。 (速攻で調べました。) データベース上に「ビュー」という名称で読み込みカラム名テーブルが登録されていたんですねぇ。 phpPgAdminで調べてみたら、今まで気が付きませんでしたが「ビュー一覧」って操作タグがありました。 一覧表示してみると、そこにはvw_products_nonclassなどのテーブルがありました。 早速、似たような名称で別テーブルを新規追加し、それでどうかを試します。 おかげさまで大変勉強になりました。 また、少々急いでおりましたので、大変に助かりました。 ありがとうございました。 追伸 無事に新たなビュー登録も行え、キチンとデータベースから反映できるようになりました。 おかげさまで、またひとつ勉強になりました。 しかし勉強し判ってくるほどに「じゃあ今度はここを弄ってみよう!」と思い始めるのでキリがないですね。(^^) 有る意味、困ったモノです。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |