バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > 商品一覧ページのURL設定を変更したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ktom
投稿日時: 2016/11/9 19:48
対応状況: −−−
新米
登録日: 2016/11/9
居住地:
投稿: 8
商品一覧ページのURL設定を変更したい
お世話になります。
EC cube v3.0.12を使用しているのですが、
下記商品一覧ページURLを変更したいです。

/products/list?category_id={id}

↓↓

/list/{id}/

htaccessは有効である前提でドキュメントルート配下/.htaccessを2系と同じように設定をしてみましたがリライト制御が上手くできまず404になってしまいます。

3系ではFrontControllerProvider.phpでルーティングが設定されている仕様のようですが、こちらも対象URLの書き換えに影響があるのでしょうか。

よろしくお願いいたします。
tsuji
投稿日時: 2016/11/10 11:03
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 商品一覧ページのURL設定を変更したい
ktom 様

> 3系ではFrontControllerProvider.phpでルーティングが設定されている仕様のようですが、こちらも対象URLの書き換えに影響があるのでしょうか。

はい。
この場合、.htaccessではなくEC-CUBEのルーティングの仕組みで
解決されるのが良いと思います。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

ktom
投稿日時: 2016/11/14 10:39
対応状況: −−−
新米
登録日: 2016/11/9
居住地:
投稿: 8
Re: 商品一覧ページのURL設定を変更したい
tsuji様

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

> この場合、.htaccessではなくEC-CUBEのルーティングの仕組みで
解決されるのが良いと思います。

上記ご教示ありがとうございます。
やはりルーティングの仕組みを編集する形になるのですね。
商品一覧ページURLのデフォルトでは、GETパラメータがURLに付与される前提でルーティングが設定されているので、意図したURLに変更したい場合、コントローラ側も手を加える必要があるのかなと思っております。
その方法については調査してみます。
ありがとうございます。
ktom
投稿日時: 2016/12/1 12:22
対応状況: −−−
新米
登録日: 2016/11/9
居住地:
投稿: 8
Re: 商品一覧ページのURL設定を変更したい
tsuji様

度々のご質問、申し訳ありません。

本件につきまして、まだ対応中なのですが、
改修方針としましては、下記URL
/poducts/list?category_id=1
のみを
/list/c1
のようなURLに変更したい場合の改修手順を下記と考えております。

1 FrontControllerProviderに上記URL用のルーティングを追加
$c->match('/list/c{id}', '\Eccube\Controller\ProductController::category')->bind('product_category')->assert('id', '\d+');

3. dtb_page_layoutに商品一覧のカテゴリーページを追加

2. Controoler/ProductController.phpに
public function category(Application $app, Request $request, $id) {}を追加、
内容はindex部分をコピペした状態から、getパラメータから取得しているデータを$idに紐付けた取得方法に改修

という調整をしたいのですが、商品一覧のカテゴリ情報を$idから取得する方法とタイミングがわからないところです。

既存のソースは触らないようにしたため、別のページとしてルーティングを追加したのですが、そもそもこのやり方がいいのか、よりよい方法もあれば、その点もご教示いただけましたら幸いです。


お手すきの際、ご確認いただければ幸いです。

よろしくお願いいたします。
umebius
投稿日時: 2016/12/6 15:11
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品一覧ページのURL設定を変更したい
こちらでCategory取得できます。

    public function category(Application $app, Request $request, $id) {
        $Category = $app["eccube.repository.category"]->find($id);
        ....
        ....
    }


$c->match('/list/c{id}'の部分も問題なく動作するはずです。

このカスタマイズでしたらプラグイン化して元ソースを改修しないことも可能です。手間はだいぶ増えますけどね。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

ktom
投稿日時: 2016/12/15 12:09
対応状況: −−−
新米
登録日: 2016/11/9
居住地:
投稿: 8
Re: 商品一覧ページのURL設定を変更したい
umebius様

お世話になります。ご連絡ありがとうございます。
返信が遅れまして大変申し訳ありません。

アドバイス頂いたとおりのロジックを追加して今試験的に動作できております。ありがとうございます!
ただ既存のProductController.phpに追加しているのでプラグイン化したほうがいいですね。
また、public function index() のロジックを参考にしてカテゴリの取得後の処理も追加しておりますが、一覧ページでの複数の機能と連携させるまでまだ課題が残されております。
こちらは解決できない場合はまた質問させていただきたいと思います。

ご返答ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,707名です
総投稿数は109,948件です

投稿数ランキング

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