バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品マスタの検索で商品コードを表示させたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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) では、最小・最大を表示するようには改良済みです。

参考まで。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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文の書き換えが必要だと思います。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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: 商品マスタの検索で商品コードを表示させたい
もう少し前後のコードと、エラー文を貼ってもらえると、何か分かるかも。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,840名です
総投稿数は109,985件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
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.