| 質問 > フロント機能 > PCとモバイルの商品一覧表示数について |
フロント機能
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| popo |
投稿日時: 2009/5/25 18:13
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2008/10/1 居住地: 投稿: 189 |
PCとモバイルの商品一覧表示数について EC-CUBEバージョン 2.3.0
PHPバージョン PHP 4.4.9 DBバージョン PostgreSQL 7.3.4 お世話になっております。 PCとモバイルの商品表示件数を別々に設定する事はできないでしょうか? PCは回線が太いお客さんも多いので、1ページに30個や40個などと一気に表示できますが、モバイルの方は1ページに15個や20個と少なく表示したいです。 PCとモバイルの商品一覧ページの表示件数を別々に設定にできれば良いと思っています。 アドバイスをお願い致します。 |
| seasoft |
投稿日時: 2009/5/25 19:14
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: PCとモバイルの商品一覧表示数について 直接の解ではありませんが、下記参考になるとよいのですが。
http://seasoft.jp1.cx/ec/tips/itemlistnum
|
| yokoshima |
投稿日時: 2009/5/25 20:05
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2009/1/6 居住地: 渋谷区恵比寿西 投稿: 113 |
Re: PCとモバイルの商品一覧表示数について data/class/pages/product/LC_Page_Products_List.php:line229あたり or
data/class_extends/pages_extends/product/LC_Page_Products_List_Ex.php ここの を任意の値にすれば可能かと思います。 ただ mtb_product_mobile_list_maxなんてテーブルをDBに作成し、 その値を参照する方がスマートかとは思います。
|
| kishik |
投稿日時: 2009/5/25 20:42
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: PCとモバイルの商品一覧表示数について data/class/pages/products/LC_Page_Products_List.php
の function process() function mobileProcess() それぞれに $this->disp_number = current(array_keys($this->arrPRODUCTLISTMAX)); という行があります。 これは実質的には $this->arrPRODUCTLISTMAX の最初のキー(値ではなく)を $this->disp_number に代入するコードになっています。 恐らく将来の拡張用にこうしてあるんですが、 現在はその方向では使われていません。 そこで、 function process() では $this->disp_number = (array_keys($this->arrPRODUCTLISTMAX))[0]; として、 function mobileProcess() では $this->disp_number = (array_keys($this->arrPRODUCTLISTMAX))[1]; などとしてやれば、 それぞれを管理画面から指定できるようになります。 [管理画面]-[システム設定]-[マスタデータ管理]で mtb_product_list_max を選択して、 IDの部分を変化させてみてください。 上から1つ目のIDがPC用 上から2つ目のIDが携帯用 になります。 ----- カスタマイズ承ります http://ec-cube-mall.jp/ http://ec-cube.ec-orange2.jp/ http://wiki.ec-orange2.jp/ |
| seasoft |
投稿日時: 2009/5/25 22:31
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: PCとモバイルの商品一覧表示数について 半分ジョークですが・・・
拡張ページクラスを使いつつ、スリムに抑える苦肉の策です。 /data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php 右辺値は kishik 様の案のように、DB 取得にするのも良いですね。
|
| popo |
投稿日時: 2009/5/26 1:36
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2008/10/1 居住地: 投稿: 189 |
Re: PCとモバイルの商品一覧表示数について アドバイスをして頂いた方々に感謝致します。
まだ時間が取れず触っていないのですが、時間ができたら試してみたいと思います。 seasoftさんが教えて頂いた「スリムに抑える苦肉の策」と言うのが、一番シンプルで簡単そうではありますね。 「半分ジョーク」と仰っていますが、何か不具合など起きそう可能性もあるのでしょうか。 kishikさんの方法も管理画面から設定できるので良いですね。 seasoftさんの方法か、kishikさんさんの方法か迷ってしまいます。 皆さんならどちらを選択するのでしょうか。 PCとモバイルで別々に表示件数を設定できる項目が、デフォルトの状態であると良いんですけどね。 今後この設定項目を追加してもらえると良いと思います。 |
| seasoft |
投稿日時: 2009/5/26 10:00
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: PCとモバイルの商品一覧表示数について > 「半分ジョーク」と仰っていますが、何か不具合など起きそう可能性もあるのでしょうか。
スーパーグローバル変数を書き換えるのは、個人的には望ましくないと考えています。 もしも、他で同じスーパーグローバル変数を参照していたら、何が起こるか分かりませんから。 とはいえ、今回のケースでは、多分問題は起きないんだろなぁとは予測しています。(未検証) しかし、このスーパーグローバル変数の書き換え、EC-CUBE 本体でもやっているんですよね・・・ そういう面では、EC-CUBE に限れば、この手法はオフィシャル的に OK なのかも^^; 本来は、拡張ページクラスで $this->disp_number が定義されたら、ページクラスで上書きしないような仕組みがあれば、カスタマイズが楽なんですよね。
|
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
どうか教えて下さい!









