バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 特定カテゴリのみ表示するブロックの制作

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ganq
投稿日時: 2011/12/1 15:34
対応状況: 開発中
半人前
登録日: 2011/12/1
居住地:
投稿: 11
特定カテゴリのみ表示するブロックの制作
EC-CUBE 2.11.2
サーバーOS Linux
DBサーバー MySQL 5.0.77

初めまして、
http://ec-cube.nakweb.com/blog/844.html
上記サイトのproduct_list.tplを参考にして、
サイトのページ内にブロックを設けて、
特定のカテゴリの商品を5点表示させようと思いますが、
うまくいきません。

肝はこちらの読み出しの指示だとおもわれますが、
こちらを特定のカテゴリのみ読みだすにはどのように変更したらよろしいでしょうか?
どなたかご教示いただければと思います。
宜しくお願いいたします。


<!--{foreach from=$arrProducts item=arrProduct}-->

変更後
<!--{foreach $arrSearchData.category_id == 1-->

宜しくお願いいたします。
yukikaze
投稿日時: 2011/12/1 16:13
対応状況: −−−
長老
登録日: 2011/7/26
居住地:
投稿: 196
Re: 特定カテゴリのみ表示するブロックの制作
未確認&ド素人ですが…

tplそのままで、LC_Page_FrontParts_Bloc_Product_List.php の 44行 にある 「$this->arrProducts = $objProduct->lists(&$objQuery);」を、category_id = 1 の情報を 5件 だけ取得するSQLに変更すればできるんじゃないでしょうか?
ganq
投稿日時: 2011/12/1 20:03
対応状況: −−−
半人前
登録日: 2011/12/1
居住地:
投稿: 11
Re: 特定カテゴリのみ表示するブロックの制作
yukikaze様

ご返信ありがとうございます。

下記のような具合に、$objQueryからカテゴリを取り出し、
該当したものを表示するのかと色々と、
試行錯誤をしているのですがうまくいきません。
そもそも間違えているのかもしれませんが、
ご教示いただけますでしょうか?
よろしくお願いいたします。


$cate_que = $objQuery->select("category_id","dtb_category",9);
$cate_id = $cate_que[0]["category_id"];
$objQuery2 = ●●●●●●●●●●●●
$this->arrProducts = $objProduct->lists(&$objQuery2);
fukap
投稿日時: 2011/12/4 22:57
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 特定カテゴリのみ表示するブロックの制作
試しにやってみましたので、参考にしてみてください。
http://ec-cube.nakweb.com/blog/924.html

もし問題が発生した場合は、記事の方にコメントをお寄せください。
ganq
投稿日時: 2011/12/5 19:48
対応状況: −−−
半人前
登録日: 2011/12/1
居住地:
投稿: 11
Re: 特定カテゴリのみ表示するブロックの制作
fukap様

ご丁寧にご対応いただき、大変感謝しております。
カテゴリ表示教えていただいた方法でうまくいきました!
ありがとうございました。

こちらの表示件数を指定する場合は、
//$objQuery->setLimitOffset(10);
上記をコメントアウトすればよろしいでしょうか?
宜しくお願いいたします。

fukap
投稿日時: 2011/12/5 19:53
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 特定カテゴリのみ表示するブロックの制作
コメントアウトを解除すれば、最初の10件表示になると思います。
ganq
投稿日時: 2011/12/6 11:36
対応状況: −−−
半人前
登録日: 2011/12/1
居住地:
投稿: 11
Re: 特定カテゴリのみ表示するブロックの制作
fukap様


ご返信ありがとうございます。
先程、コメントアウトしためしてみましたが、
なぜか商品が二つのみ表示されます。
現在原因をしらべております。

// 商品一覧を取得 $col = 'T1.product_id, T1.main_list_image, T1.name, T2.price02 AS price02_min'; $from = 'dtb_products as T1 INNER JOIN dtb_products_class as T2 ON T1.product_id = T2.product_id'; $from .= ' INNER JOIN dtb_product_categories as T3 ON T1.product_id = T3.product_id'; $where = 'T2.del_flg = 0 and T3.category_id IN ( ? )'; // $arrval で指定するカテゴリIDの数だけ ? を増やす $arrval = Array( 1 ); // 一番下層のカテゴリIDを指定する $objQuery->setLimitOffset(10); $objQuery->setOrder("T1.update_date desc"); $arrProducts = $objQuery->select($col, $from, $where, $arrval);


fukap
投稿日時: 2011/12/6 13:47
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 特定カテゴリのみ表示するブロックの制作
今回書いたコードでは、$objQuery->setLimitOffset(10); では、
問題が発生してしまいますね。

表示する商品件数を変更できるようにコードを書き直してみましたので、
記事の方のコードをご参照ください。
ganq
投稿日時: 2011/12/6 17:05
対応状況: −−−
半人前
登録日: 2011/12/1
居住地:
投稿: 11
Re: 特定カテゴリのみ表示するブロックの制作
fukap様

教えていただいた方法にて、
無事表示されました!
本当に色々とありがとうございました。

最後にお願いがあります。
こちらの登録が新しい順に10件表示させる方法も
教えていただけますでしょうか?
よろしくお願いいたします。
fukap
投稿日時: 2011/12/6 17:14
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 特定カテゴリのみ表示するブロックの制作
新しい順というのは、商品更新日の降順ということでしょうか。
その場合は、$objQuery->setOrder("T1.update_date desc"); でいけると思います。

商品登録日の降順であれば、
$objQuery->setOrder("T1.create_date desc"); だと思います、たぶん。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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