バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > 商品並び替え 正常に機能しない

管理機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shinshinsh
投稿日時: 2008/8/25 4:13
対応状況: −−−
半人前
登録日: 2008/7/18
居住地:
投稿: 12
商品並び替え 正常に機能しない
管理画面上では並び替えられるのですが、商品の並び替えがフロント画面に反映されません。
どうぞよろしくお願い致します。

現在、以下の環境で利用しております。

EC-CUBEバージョン 2.1.2
PHPバージョン PHP 5.2.5
DBバージョン PostgreSQL 8.2.4
seasoft
投稿日時: 2008/8/26 1:24
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: 商品並び替え 正常に機能しない
とりあえず、コミュニティ版 × PostgreSQL では、動作しました。(仕様の適否はともかく)
報告まで。


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

para4
投稿日時: 2008/8/27 12:28
対応状況: −−−
常連
登録日: 2008/6/30
居住地:
投稿: 42
Re: 商品並び替え 正常に機能しない
LC_Page_Products_List.php
425行目
引用:

$from = "vw_products_allclass AS T1"
. " JOIN ("
. " SELECT max(T3.rank) AS category_rank,"
. " max(T2.rank) AS product_rank,"
. " T2.product_id"
. " FROM dtb_product_categories T2"
. " JOIN dtb_category T3 USING (category_id)"
. " GROUP BY product_id) AS T4 USING (product_id)";
$order = "T4.category_rank DESC, T4.product_rank DESC";

これでは、違うカテゴリーのrankを持ってきてしまいます。

JOINの次に
WHERE T2.category_id IN (カテゴリID)
を追加すればいいかと思いましたが、
子カテゴリを持つカテゴリの場合、どのようにランク付する仕様なのか分からなかったので修正しかねています。
seasoft
投稿日時: 2008/8/27 13:00
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: 商品並び替え 正常に機能しない
管理機能の動作を見た感じだと、なんとなく max(dtb_category.rank) で良さそう。

dtb_category.rank の一意が保証されているなら、
dtb_category.rank から dtb_category.category_id を特定して、それを条件に dtb_product_categories.rank を引くのが正しいんかな。


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

para4
投稿日時: 2008/8/27 15:53
対応状況: −−−
常連
登録日: 2008/6/30
居住地:
投稿: 42
Re: 商品並び替え 正常に機能しない
A-+-B
+-C
+-D
のような階層のカテゴリ分類の場合、B,C,Dのランクは指定できますがAのランクは管理画面で指定できません。
B,C,Dの場合は、カテゴリが特定できるのでいいのですが、Aの一覧を表示する場合は、B,C,Dすべての商品の対象になるのでどのような順番に表示したらよいのでしょうか?
Aの分類でのランク登録を可能にするのがスマートのような気がしますが、変更箇所が多くなりそうで...

一つの商品をB,C,Dに登録可能なので、一つの商品で複数のランクがあることになります。
カテゴリ・ランク+商品・ランクをキーにして、同一商品の場合は、カテゴリ・ランクが小さい方を優先させればいいのかな?
seasoft
投稿日時: 2008/8/28 7:16
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: 商品並び替え 正常に機能しない
確認せずに書いてますので、誤っているかもしれませんが…

引用:

A-+-B
+-C
+-D
のような階層のカテゴリ分類の場合、B,C,Dのランクは指定できますがAのランクは管理画面で指定できません。

指定の可否は記憶にありませんが、とりあえずそれらしい値は生成されていたように思います。

引用:

B,C,Dの場合は、カテゴリが特定できるのでいいのですが、Aの一覧を表示する場合は、B,C,Dすべての商品の対象になるのでどのような順番に表示したらよいのでしょうか?

B,C,D のランクで良い気はします。

引用:

Aの分類でのランク登録を可能にするのがスマートのような気がしますが、変更箇所が多くなりそうで...

そうですね。カテゴリのネストが深い場合など、商品登録も大変になりそうですし。

引用:

一つの商品をB,C,Dに登録可能なので、一つの商品で複数のランクがあることになります。
カテゴリ・ランク+商品・ランクをキーにして、同一商品の場合は、カテゴリ・ランクが小さい方を優先させればいいのかな?

大きい方だったような。(うろ覚え)
そんな感じが良いのカナと思いますね。


個人的には、分類をネストさせていないので、商品ランクの並び替えだけで十分だったりしますけど…


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

shinshinsh
投稿日時: 2008/8/28 15:34
対応状況: −−−
半人前
登録日: 2008/7/18
居住地:
投稿: 12
Re: 商品並び替え 正常に機能しない
お世話になります。
やはり1つの商品について、複数のカテゴリを指定しているのでこのようになるんですね。
どう修正するのが一番の解決方法なのでしょうか?
para4
投稿日時: 2008/9/1 14:24
対応状況: −−−
常連
登録日: 2008/6/30
居住地:
投稿: 42
Re: 商品並び替え 正常に機能しない
直してみました。
環境---------------------------------
EC-CUBE : 2.3.0
PHP : 5.2.6
MySQL : 5.0.51b
OS : Windows2003R2
XAMPP 1.6.7
--------------------------------------

data/class/pages/products/LC_Page_Products_List.php
416行目

変更前
引用:

default:
$col = "DISTINCT T1.product_id, product_code_min, product_code_max,"
. " price01_min, price01_max, price02_min, price02_max,"
. " stock_min, stock_max, stock_unlimited_min,"
. " stock_unlimited_max, del_flg, status, name, comment1,"
. " comment2, comment3, main_list_comment, main_image,"
. " main_list_image, product_flag, deliv_date_id, sale_limit,"
. " point_rate, sale_unlimited, create_date, deliv_fee, "
. " T4.product_rank, T4.category_rank";
$from = "vw_products_allclass AS T1"
. " JOIN ("
. " SELECT max(T3.rank) AS category_rank,"
. " max(T2.rank) AS product_rank,"
. " T2.product_id"
. " FROM dtb_product_categories T2"
. " JOIN dtb_category T3 USING (category_id)"
. " GROUP BY product_id) AS T4 USING (product_id)";
$order = "T4.category_rank DESC, T4.product_rank DESC";
break;


変更後
引用:

default:
$col = "product_id, product_code_min, product_code_max,"
. " price01_min, price01_max, price02_min, price02_max,"
. " stock_min, stock_max, stock_unlimited_min,"
. " stock_unlimited_max, del_flg, status, name, comment1,"
. " comment2, comment3, main_list_comment, main_image,"
. " main_list_image, product_flag, deliv_date_id, sale_limit,"
. " point_rate, sale_unlimited, create_date, deliv_fee, "
. " max(category_rank) AS category_rank, rank AS product_rank";
$from = "vw_products_allclass as TA1";
$order = "category_rank DESC, product_rank DESC";
$objQuery->setgroupby(product_id);
break;


DISTINCTは、不要だと思うので消しました。
vw_products_allclassエイリアスですが、 内部でT1を使用しているようなので、何となくTA1に変えました。
seasoft
投稿日時: 2008/9/1 15:10
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: 商品並び替え 正常に機能しない
引用:

$objQuery->setgroupby(product_id);

$objQuery->setgroupby('product_id');
かな。

けど、$col に列挙されているものの大半が setgroupby() されていませんが、大丈夫ですか?


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

ゲスト
投稿日時: 2008/9/1 18:53
対応状況: 確認中
Re: 商品並び替え 正常に機能しない
実は当方も同じ症状で困っています。

状況としてはカテゴリの階層を最大4階層登録しており、さらに商品を複数カテゴリに登録しようとした場合、商品の並び替えが行えないのと登録した商品が1カテゴリだけの登録となってしまいます。

上の書き込みで解決しましたとありますが、仙人さんの書き込みも気になります・・・これはバグとなるのでしょうか?どなたか解決した方いらっしましたら書き込みお願い致します。
(1) 2 3 4 ... 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.