商品詳細ページで別商品をランダムに表示できるモジュールの並び替え

SOY Shopに関する話題はこちら。

商品詳細ページで別商品をランダムに表示できるモジュールの並び替え

投稿記事by tk8 on 2019年3月16日(土) 17:42

以下のページで紹介されている内容を元にモジュールを作成し、商品詳細ページに、指定したカテゴリの他の商品がランダムに一覧表示されるように表示を行っています。
サイトの回遊率やついで買いなどが少々向上しています。

https://saitodev.co/article/SOY_Shop%E3 ... 9%E3%82%8B


今回はこのモジュールの商品の並び替えを行いたいという要望です。

ランダムな表示ではなく、soyshopで標準的にある「商品名 商品コード 在庫数 販売価格 作成日 更新日 」などで並び替えを行いたい場合には、どのような記述に変更すると良いでしょうか?
昇順・降順の指定方法も教えて頂ければ幸いです。

今回は特に、「在庫数」による並び替えを必要としているのですが、全部紹介するのは結構大変という事であれば、「在庫数」による並び替え方法を優先的に知ることができればと思っております。

お手数をお掛けして申し訳ありません。
tk8
 
記事: 54
登録日時: 2013年10月21日(月) 19:57

Re: 商品詳細ページで別商品をランダムに表示できるモジュールの並び替え

投稿記事by inunosinsi on 2019年3月17日(日) 05:43

任意の項目で並び替えを行う方法ですが、

コード: 全て選択
$sql = "SELECT * FROM soyshop_item ".
   "WHERE item_type IN ('single','group','download') ".
   "AND item_category = :categoryId ".
   "AND is_disabled != 1 ".
   "AND item_is_open = 1 ".
   "AND open_period_start < " . time() . " ".
   "AND open_period_end > " . time() . " ".
   "ORDER BY Rand() ".      //MySQL版。SQLite版の時はRand()の代わりにRandom()を使用する
   "LIMIT " . $limit;


並び方の具体的な話に入る前に、上記のコードはSQL文をPHPで作成したものになります。
SQL文では上記の書き方であれば、「ORDER BY カラム名 順」で指定していて、

在庫数であれば、データベースのカラム名が「item_stock」になるので、
ORDER BY item_stock ASCになります。
※順の箇所のASCは昇順であれば「ASC」、降順であれば「DESC」になります。

「商品名 商品コード 在庫数 販売価格 作成日 更新日 」

上記の各名称に対応するカラム名は下記の通りになります。

商品名:item_name
商品コード:item_code
在庫数:item_stock
販売価格:item_price か item_selling_price
作成日:create_date
更新日:update_date

これらのカラム名の記述は
/CMSインストールディレクトリ/soyshop/webapp/src/logic/init/mysql.sql内の
CREATE TABLE soyshop_item ();で囲まれた箇所にございます。


SQL文のORDER節についてを知りたい場合は下記のページがおすすめです。
SQLで並び替え!ORDER BYを基礎から応用まで学ぼう! - 侍エンジニア塾
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 752
登録日時: 2008年6月12日(木) 20:48

Re: 商品詳細ページで別商品をランダムに表示できるモジュールの並び替え

投稿記事by tk8 on 2019年3月17日(日) 17:51

ありがとうございました。

無事に出来ました。

これで色々なページで買い回りのための導線作りがしやすくなりました。

本当にありがとうございました。
tk8
 
記事: 54
登録日時: 2013年10月21日(月) 19:57


Return to SOY Shop

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[5人]