質問 > 管理機能 > 商品マスタの検索で商品コードを表示させたい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mincoo |
投稿日時: 2009/2/25 21:33
対応状況: −−−
|
新米 登録日: 2009/2/9 居住地: 投稿: 8 |
商品マスタの検索で商品コードを表示させたい 商品マスタの検索一覧で登録商品すべてに商品コードを出力させたいのです。
商品マスタでは規格がない商品では商品コードが表示されますが、規格を登録してしまうと商品コードが表示されないようになっています。 規格を登録した商品で、どの規格の商品コードでも構わないので、ひとつだけでも表示させたいのですが… 上手く説明できてないですが、ひとつの商品につき、ひとつの商品コードを表示させたいと言うことです。 以前のスレッドで http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=975&forum=11&post_id=3321#forumpost3321 を見つけましたが、無理でした。 どなたかわかる方はいませんでしょうか。 よろしくお願い致します。 EC-CUBEバージョン 2.3.0 PHPバージョン PHP 5.2.5 DBバージョン MySQL 4.1.21-Max-log |
seasoft |
投稿日時: 2009/2/26 1:03
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタの検索で商品コードを表示させたい EC-CUBEコミュニティ(eccube-comu) では、最小・最大を表示するようには改良済みです。
参考まで。
|
mincoo |
投稿日時: 2009/2/26 19:19
対応状況: −−−
|
新米 登録日: 2009/2/9 居住地: 投稿: 8 |
Re: 商品マスタの検索で商品コードを表示させたい seasoft 様
EC-CUBEコミュニティ(eccube-comu) では、表示できるようになっているんですね。 templates/admin/products/index.tpl に <td><!--{$arrProducts[cnt].product_code|escape}--> <!--{if $arrProducts[cnt].product_code_min != $arrProducts[cnt].product_code_max}--> <br />〜 <!--$arrProductscnt].product_code_max|escape}--> <!--{/if}--> </td> を追加してみたのですが、うまくいきませんでした。 どうか知恵を貸してください。よろしくお願い致します。 |
mincoo |
投稿日時: 2009/2/28 21:19
対応状況: −−−
|
新米 登録日: 2009/2/9 居住地: 投稿: 8 |
Re: 商品マスタの検索で商品コードを表示させたい いろいろと頑張、過去ログ等も参考にしてみましたが、上手くいきませんでした。
templates/admin/products/index.tpl に <td><!--{$arrProducts[cnt].product_code_min|escape}--> <!--{if $arrProducts[cnt].product_code_min != $arrProducts[cnt].product_code_max}--> <br />〜 <!--$arrProductscnt].product_code_max|escape}--> <!--{/if}--> </td> class/pages/admin/products/LC_Page_Admin_Products.php へ product_code_min product_code_max を追加で入れましたが、管理画面からシステムエラーとなってしまう状況です。 まだPHPの勉強不足なので上手くいかないのは承知していますが、 どうかどなたでも構いませんので、お教えをいただければと思います。 よろしくお願い致します。 |
seasoft |
投稿日時: 2009/3/2 16:20
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタの検索で商品コードを表示させたい MySQL ですと、
\data\class\db\dbfactory\SC_DB_DBFactory_MYSQL.php のSQL文の書き換えが必要だと思います。
|
tonton |
投稿日時: 2009/3/3 10:05
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 商品マスタの検索で商品コードを表示させたい >MySQL ですと、
>\data\class\db\dbfactory\SC_DB_DBFactory_MYSQL.php >のSQL文の書き換えが必要だと思います。 seasoftさんがおっしゃっているように、SC_DB_DBFactory_MYSQL.phpへ、「mySQLデータベースのdtb_products_classテーブルからproduct_codeの最小値をproduct_code_minとして、product_codeの最大値をproduct_code_maxとして、取り出す」SQL文の追加が必要です。 product_code_minやproduct_code_maxというのは標準のデータベーステーブルにはありませんので、先に、DBのdtb_products_classテーブルのproduct_codeというカラムから最大値と最小値を、それぞれ命名して取り出す作業が必要になるということです。 EC-CUBEでは、SC_DB_DBFactory_MYSQL.phpで、mySQLのデータベーステーブルからデータを取り出してプログラムの処理に必要なデータを一時テーブルとして組みなおし、その値をプログラムで呼び出して使用しています。ですので、このSC_DB_DBFactory_MYSQL.phpの該当箇所へ、コード内で使用したいDBのカラムの値を呼び出してあげてからでなければ、それぞれのコード部分でカスタマイズしても参照エラーになり表示されないということになります。 つまり、先のフォーラムのスレッドにあるカスタマイズの概要を拝見するに、 --------------------- (SELECT MIN(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_min, (SELECT MAX(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_max --------------------- この部分に相当する記述が、2.0系では、SC_DB_DBFactory_MYSQL.phpの vw_products_nonclassの記述の最後の「,」の前=L440あたりの、 AS T2 ON T1.product_id = T2.product_id_sub) '「ここへ」, "vw_products_allclass" => " 追加されていないといけないということになるのではないでしょうか。 |
mincoo |
投稿日時: 2009/3/4 1:10
対応状況: −−−
|
新米 登録日: 2009/2/9 居住地: 投稿: 8 |
Re: 商品マスタの検索で商品コードを表示させたい 追加したところは tonton様からのレス通りに、SC_DB_DBFactory_MYSQL.phpへ、 ON T1.product_id = T2.product_id_sub ,(SELECT MIN(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_min ,(SELECT MAX(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_max) ', "vw_products_allclass" => と追加してみましたが、商品マスタの検索ボタンを押すと、 「システムエラーが発生しました。」 と表示されてしまいます。 他の変更箇所は、前と一緒で templates/admin/products/index.tpl に <td><!--{$arrProducts[cnt].product_code_min|escape}--> <!--{if $arrProducts[cnt].product_code_min != $arrProducts[cnt].product_code_max}--> <br />〜 <!--$arrProductscnt].product_code_max|escape}--> <!--{/if}--> </td> class/pages/admin/products/LC_Page_Admin_Products.php へ product_code_min product_code_max を追加しました。 何とか少しでもわかるようになればよいのですが、なにせ始めたばかりなので、よろしくお願い致します。 |
seasoft |
投稿日時: 2009/3/4 2:28
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタの検索で商品コードを表示させたい もう少し前後のコードと、エラー文を貼ってもらえると、何か分かるかも。
|
mincoo |
投稿日時: 2009/3/5 1:13
対応状況: −−−
|
新米 登録日: 2009/2/9 居住地: 投稿: 8 |
Re: 商品マスタの検索で商品コードを表示させたい 間違って、上のスレを変更してしまいました…
追加したところは tonton様からのレス通りに、SC_DB_DBFactory_MYSQL.phpへ、 ON T1.product_id = T2.product_id_sub ,(SELECT MIN(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_min ,(SELECT MAX(product_code) FROM dtb_products_class WHERE product_id = T1.product_id) AS product_code_max) ', "vw_products_allclass" => と追加してみましたが、商品マスタの検索ボタンを押すと、 「システムエラーが発生しました。」 と表示されてしまいます。 他の変更箇所は、前と一緒で templates/admin/products/index.tpl に <td><!--{$arrProducts[cnt].product_code_min|escape}--> <!--{if $arrProducts[cnt].product_code_min != $arrProducts[cnt].product_code_max}--> <br />〜 <!--$arrProductscnt].product_code_max|escape}--> <!--{/if}--> </td> class/pages/admin/products/LC_Page_Admin_Products.php へ product_code_min product_code_max を追加しました。 何とか少しでもわかるようになればよいのですが、なにせ始めたばかりなので、よろしくお願い致します。 |
tao_s |
投稿日時: 2009/3/5 1:31
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: 商品マスタの検索で商品コードを表示させたい 確かシステム管理のパラメータ設定で、デバックモードを有効に出来たと思います。
デバックモードを有効にすると 引用: 「システムエラーが発生しました。」 だけでは無く、PEARのDBエラーのデバックメッセージが表示されます。そこでクエリのどこら辺が悪いか教えてくれます そこのエラーメッセージを貼って頂けるともう少し具体的な解決策を教えられると思います。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |