バージョン選択

フォーラム

メニュー

オンライン状況

74 人のユーザが現在オンラインです。 (58 人のユーザが フォーラム を参照しています。)
登録ユーザ: 3
ゲスト: 71
shun Hmura takaba もっと...

サイト内検索

質問 > フロント機能 > ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wgnc345
投稿日時: 2018/10/11 8:55
対応状況: −−−
新米
登録日: 2018/10/11
居住地:
投稿: 2
ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
お世話になります。

ECCUBE3の商品一覧ページにアクセスした際、表示件数が15件ですが、それを30件位に増やしたいと考えております。

どのようにすればよいかご教授頂けると幸いです。
宜しくお願い申し上げます。

468
投稿日時: 2018/10/11 11:26
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1271
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
フロントと管理画面、どちらの商品一覧ですか?
フロントの話の場合、
デフォルトでは表示件数を手動で変更できると思いますが、
初期値を30件にしたいという事でしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

wgnc345
投稿日時: 2018/10/11 18:08
対応状況: −−−
新米
登録日: 2018/10/11
居住地:
投稿: 2
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
シロハチ様

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

仰る通り、フロントの初期値を30にしたいです。
Ringo
投稿日時: 2018/10/17 8:11
対応状況: −−−
半人前
登録日: 2018/8/10
居住地:
投稿: 23
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
気になったので、追ってるのですが、

        // 表示件数を変更
        function fnChangeDispNumber(dispNumber) {
            eccube.setValue('disp_number', dispNumber);
            eccube.setValue('pageno', 1);
            eccube.submitForm();
        }

で「selected」を設定している所が突き止められないでいます。

何方か、知っている方は見えませんか?

「selected」を設定している所が分かれば、‘disp_number’が未設定(表示件数のoption値先頭表示状態)の場合に、希望の件数を「selected」にすればいいのではないかと。。。


$builder = $app['form.factory']->createNamedBuilder('disp_number', 'product_list_max', null, array());

なんとなく↑の'disp_number'によってsymfonyの中で「selected」を生成してそうな気配がしてて、もしそうなら、別途、createNamedBuilder改めcreateNamedBuilderInitとかを作成する必要があるのかなぁと思ってます。
その場合、この階層で'disp_number'の空判定してcreateNamedBuilderかcreateNamedBuilderInitを呼ばないといけなくなるのですが、'disp_number'の空判定方法も分からない、といった状況です。

tao_s
投稿日時: 2018/10/17 9:24
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 664
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
管理画面のマスタ管理から、mtb_product_list_maxの15、30、50を30、45、60とかに変えればできませんかね?


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBE開発ブログ

Ringo
投稿日時: 2018/10/17 9:28
対応状況: −−−
半人前
登録日: 2018/8/10
居住地:
投稿: 23
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
「替えるだけ」なら、DB値を替えれば出来ます。

小生の目的は、3系の処理(ワークフレーム)の把握(修行)です。
468
投稿日時: 2018/10/17 11:55
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1271
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
初期値は該当データの並び順の最初の値がセットされるようですので、tao_sさんのおっしゃられる通り、
管理画面の設定>システム情報設定>マスタデータ管理で
mtb_product_list_maxの値を30, 50, 100のように30が先頭に来るように変更するのが簡単かと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

468
投稿日時: 2018/10/17 12:08
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1271
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
どうしても15, 30, 50の並び順でデフォルトの値を変更したい場合は、
/src/Eccube/Controller/ProductController.php function index()にある表示件数プルダウンを生成している記述に、
dataオプションを追加するとデフォルト値が設定できると思います。
// 表示件数
        $builder = $app['form.factory']->createNamedBuilder('disp_number', 'product_list_max', null, array(
            'empty_data' => null,
            'required' => false,
            'label' => '表示件数',
            'allow_extra_fields' => true
        ));


// 表示件数
        //↓ここでデフォルト値にセットしたいEntityを取り出す
        $ProductListMax = $app['eccube.repository.master.product_list_max']->find(30);
        $builder = $app['form.factory']->createNamedBuilder('disp_number', 'product_list_max', null, array(
            'empty_data' => null,
            'required' => false,
            'label' => '表示件数',
            'allow_extra_fields' => true,
            //↓ここでデフォルト値をセット
            'data' => $ProductListMax
        ));



----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

468
投稿日時: 2018/10/17 12:10
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1271
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
/src/Eccube/Controller/ProductController.php function index()の中で表示件数プルダウンを設定している箇所がありますので、
そこでformTypeのoptionを変更できそうです。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

Ringo
投稿日時: 2018/10/17 14:10
対応状況: −−−
半人前
登録日: 2018/8/10
居住地:
投稿: 23
Re: ECCUBE3 商品一覧ページのデフォルト表示件数を変更するには
おかげさまで、

        // 表示件数を変更 dispNumber
        function fnChangeDispNumber(dispNumber) {
            eccube.setValue('disp_number', dispNumber);
            eccube.setValue('pageno', 1);
            eccube.submitForm();
        }

の「eccube.submitForm()」で、

「public function index(Application $app, Request $request){」



「return $app->render('Product/list.twig', array(」

内の

「 'disp_number_form' => $dispNumberForm->createView(),」

で、↓の様に「"data"」に選択値が入るところまで追えました。


FormView {#2458 ▼
  +vars: array:41 [▼
    "value" => "30"
    "attr" => []
    "form" => FormView {#2458}
    "id" => "disp_number"
    "name" => "disp_number"
    "full_name" => "disp_number"
    "disabled" => false
    "label" => "表示件数"
    "label_format" => null
    "multipart" => false
    "block_prefixes" => array:6 [▶]
    "unique_block_prefix" => "_disp_number"
    "translation_domain" => null
    "cache_key" => "_disp_number_product_list_max"
    "read_only" => false
    "errors" => FormErrorIterator {#2074 ▶}
    "valid" => true
    "data" => ProductListMax {#1872 ▼
      -id: 30
      -name: "30件"
      -rank: 1
    }

 (以下省略)
 

まだ「なぜそうなるのか」までは理解出来ていませんが、いろいろとありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は33,207名です
総投稿数は87,773件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1790
4
yuh
1515
5
468
1271
6
red
1178
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
664
13 karin 656
14 sumida 641
15
homan
633
16 DELIGHT 571
17
h_tanaka
571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.