バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧の表示順位を更新順にする方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
lucky7
投稿日時: 2009/3/7 12:54
対応状況: −−−
一人前
登録日: 2008/6/2
居住地: 東京近郊
投稿: 101
商品一覧の表示順位を更新順にする方法
こんにちは。
いつもお世話になっております。

現在、商品の一覧の順位をカスタマイズしているのですが、
目的は表示順位を更新順にしたくて

/data/class/pages/products/LC_Page_Products_List.php

        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, update_date, ";
            $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 = "update_date, T4.category_rank DESC, T4.product_rank DESC";
            break;

update_date,を追記したのですがシステムエラーになります。
どなたか、お分かりになる方ご教授ください><



----------------
EC-CUBEバージョン 2.1.2
PHPバージョン PHP 4.3.9
DBバージョン MySQL 4.1.20

seasoft
投稿日時: 2009/3/7 13:33
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品一覧の表示順位を更新順にする方法
試したこと無いですが、新着順のロジックを丸ごとコピペして、create_date を update_date に変更するというのは?


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

lucky7
投稿日時: 2009/3/7 13:39
対応状況: −−−
一人前
登録日: 2008/6/2
居住地: 東京近郊
投稿: 101
Re: 商品一覧の表示順位を更新順にする方法

default:
            $col = "DISTINCT update_date, product_id, product_code_min, product_code_max,"
                . " name, comment1,"
                . " comment2, comment3, comment4,"
                . " main_list_comment, main_image, main_list_image,"
                . " price01_min, price01_max, price02_min, price02_max,"
                . " stock_min, stock_max, stock_unlimited_min, stock_unlimited_max,"
                . " point_rate, sale_limit, sale_unlimited, deliv_date_id, deliv_fee,"
                . " status, product_flag, del_flg";
            $from = "vw_products_allclass AS T1";
            $order = "update_date DESC, product_id";
            break;

として見ましたが、システムエラーでした><

adminの検索結果が更新順になっていて、
$order = "update_date DESC, product_id DESC";
となっていたので簡単に出来るかと思ったのですが…><

原因は何でしょうか?


----------------
EC-CUBEバージョン 2.1.2
PHPバージョン PHP 4.3.9
DBバージョン MySQL 4.1.20

seasoft
投稿日時: 2009/3/7 13:47
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品一覧の表示順位を更新順にする方法
EC-CUBEコミュニティ(eccube-comu) では、
            default:
                $order = "update_date DESC, product_id";
                break;
だけで、成功しました。

ビューの違いかな。
そうなら、ビューを改変するか、$from で JOIN するかな。


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

tonton
投稿日時: 2009/3/7 14:23
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: 商品一覧の表示順位を更新順にする方法
推測ベースですが、、、

最初に記載されたソースで、

$from = "vw_products_allclass AS T1"

として、vw_products_allclassからDBの値を読み込まれていますが、
/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
の、vw_products_allclassを参照してみると、update_dateが含まれていないようなので、それが原因ではないでしょうか?

SC_DB_DBFactory_MYSQL.phpのvw_products_allclassのリストアップの中へ、update_dateを追加してみた場合いかがですか?

はずしていたらごめんなさい。
lucky7
投稿日時: 2009/3/7 14:53
対応状況: −−−
一人前
登録日: 2008/6/2
居住地: 東京近郊
投稿: 101
Re: 商品一覧の表示順位を更新順にする方法
>seasoftさん
>tontonさん

おぉ!
出来ました!
ありがとうございます!

>ビューの違いかな。
>vw_products_allclassを参照してみると、update_dateが含まれていないようなので、それが原因ではないでしょうか?
まさにそのとおりだったようです!

ずっと出来なかったので本当に助かりました!
ありがとうございます!


----------------
EC-CUBEバージョン 2.1.2
PHPバージョン PHP 4.3.9
DBバージョン MySQL 4.1.20

nantoka
投稿日時: 2009/10/13 2:23
対応状況: −−−
常連
登録日: 2009/4/7
居住地:
投稿: 38
Re: 商品一覧の表示順位を更新順にする方法
EC-CUBEバージョン 2.3.2
PHPバージョン PHP 5.2.11
DBバージョン MySQL 4.1.22
---------------------------------
はじめまして。
vw_products_allclassへの追加、が正しく理解できず
商品一覧の更新順表示がなかなか出来ません。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=3563&forum=10
上記記事を参照し、商品一覧ページの登録順表示は大丈夫でした。

次に更新順に表示できればと思い、
登録順のcreate_dateをupdate_dateに変更

---------------------------------
default:
$col = "DISTINCT (ここにupdate_dateを追加), 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, deliv_fee, "
. " T4.product_rank, T4.category_rank";
---------------------------------
$order = "update_date DESC, product_id";

次に、
/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
366行目あたり、vw_products_allclassへ「update_dateを追加して」みました。

"vw_products_allclass" => '
(SELECT (ここに追加), T1.product_id,
product_code_min,
product_code_max,
price01_min,
以下、変更無し

しかし、別スレッドの方と同じく、この追加の仕方ではエラー表示でした。
vw_products_allclassへの追加、がどうしてもうまく行きません。
単純に、追記だけではないのでしょうか?
ご教授、よろしくお願いします。
seasoft
投稿日時: 2009/10/13 3:18
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品一覧の表示順位を更新順にする方法
> しかし、別スレッドの方と同じく、この追加の仕方ではエラー表示でした。

エラー内容を貼っておくと、話が早いかと思います。


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

nantoka
投稿日時: 2009/10/13 11:21
対応状況: −−−
常連
登録日: 2009/4/7
居住地:
投稿: 38
Re: 商品一覧の表示順位を更新順にする方法
商品一覧ページの表示ができず、

「システムエラーです。管理者にお問い合わせ下さい。」

と、レンタルサーバーの表意エラーページになります。
詳しい状態は、夜にもう一度確認します。
seasoft
投稿日時: 2009/10/14 0:01
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品一覧の表示順位を更新順にする方法
引用:

商品一覧ページの表示ができず、

「システムエラーです。管理者にお問い合わせ下さい。」

と、レンタルサーバーの表意エラーページになります。
詳しい状態は、夜にもう一度確認します。

私のメモ書きですが、エラーメッセージ取得の参考になれば・・・
http://seasoft.jp1.cx/ec/tips/error#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F_%E5%A4%A7%E5%A4%89%E3%81%8A%E6%89%8B%E6%95%B0%E3%81%A7%E3%81%99%E3%81%8C_%E3%82%B5%E3%82%A4%E3%83%88%E7%AE%A1%E7%90%86%E8%80%85%E3%81%BE%E3%81%A7%E3%81%94%E9%80%A3%E7%B5%A1%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84


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

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,873名です
総投稿数は110,000件です

投稿数ランキング

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
1295
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.