バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 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


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

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


//最小表示件数を選択
$this->disp_number = current(array_keys($this->arrPRODUCTLISTMAX));


ここの

$this->arrPRODUCTLISTMAX


を任意の値にすれば可能かと思います。

ただ
mtb_product_mobile_list_maxなんてテーブルをDBに作成し、
その値を参照する方がスマートかとは思います。


//最小表示件数を選択
$this->disp_number = current(array_keys($masterData->getMasterData("mtb_product_mobile_list_max"));


----------------
+++++++++++++++++++++++++++++++++++++++++++++++++++
EC構築 EC製作 ECコンサルティング
株式会社マッジ

+++++++++++++++++++++++++++++++++++++++++++++++++++

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
    function mobileInit() {
        $_REQUEST['disp_number'] = 15;
        parent::mobileInit();
    }


右辺値は kishik 様の案のように、DB 取得にするのも良いですね。
    function mobileInit() {
        parent::mobileInit();
        $_REQUEST['disp_number'] = (array_keys($this->arrPRODUCTLISTMAX))[1];
    }


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

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 が定義されたら、ページクラスで上書きしないような仕組みがあれば、カスタマイズが楽なんですよね。


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

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


 



ログイン


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

統計情報

総メンバー数は145,101名です
総投稿数は113,505件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2340
5
h_tanaka
2139
6
umebius
2085
7
yuh
1905
8
mcontact
1820
9
red
1585
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18
balisys
603
19 DELIGHT 572
20
patapata
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.