バージョン選択

フォーラム

メニュー

オンライン状況

161 人のユーザが現在オンラインです。 (155 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 161
もっと...

サイト内検索

質問 > 管理機能 > 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などのテーブルがありました。

早速、似たような名称で別テーブルを新規追加し、それでどうかを試します。

おかげさまで大変勉強になりました。
また、少々急いでおりましたので、大変に助かりました。
ありがとうございました。


追伸

無事に新たなビュー登録も行え、キチンとデータベースから反映できるようになりました。
おかげさまで、またひとつ勉強になりました。

しかし勉強し判ってくるほどに「じゃあ今度はここを弄ってみよう!」と思い始めるのでキリがないですね。(^^)
有る意味、困ったモノです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,242名です
総投稿数は110,340件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1688
8
red
1571
9
mcontact
1356
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.