質問 > フロント機能 > ページ送り機能について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
rst |
投稿日時: 2009/8/1 1:22
対応状況: −−−
|
一人前 登録日: 2008/8/17 居住地: 投稿: 80 |
ページ送り機能について コミュニティ18242を利用しています。
ページ送り機能について質問です。全商品を表示させページ送りする分には問題ないのですが商品検索やメーカーごとの表示の場合うまく送り機能が動作しません。 全商品の場合 1ページ目:list.php 2ページ目以降:list.php?category_id=0&pageno=2 ※全商品の場合category_idもいらない気もしなくはないのですが^^; 商品検索の場合 1ページ目:list.php?mode=search&category_id=&maker_id=&name=a&search.x=21&search.y=13 2ページ目以降:list.php?category_id=0&pageno=2 メーカーごとの場合 1ページ目:list.php?maker_id=1 2ページ目以降:list.php?category_id=0&pageno=2 商品検索とメーカーごとの場合ページ送りをすると必要なデータが失われるため全商品の結果と同様になってしまいます。 カテゴリーごとのページ送りはうまく動作しております。 調べてみたところ/data/class/pages/products/LC_Page_Products_List.phpでパラメータを設定してるようなのですがどうやっていいものかわからずつまずいております。 解決案などございましたら教えてください。 |
seasoft |
投稿日時: 2009/8/1 5:57
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ページ送り機能について > ※全商品の場合category_idもいらない気もしなくはないのですが^^;
その考え方は、個人的には賛成です。 下記スレッドを読むと経緯が把握できるかもしれません。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=4364&forum=8 本題部分につきましては、調べてみようと思いますので、少々お時間をください。
|
seasoft |
投稿日時: 2009/8/1 7:29
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ページ送り機能について 軽く調べてみましたが、セッション変数なども絡んで、結構ヤバイ状態ですね。
複数タブブラウジングなどで、支障が出そうな状態ですね。 小手先では直せそうにありませんので、真面目に対処方法を検討してみたいと思います。 多分、他のページと同じように、フレームワークとして用意されている JavaScript を使ったナビに変更すれば対処できると思います。ただし、SEO面で不利になりそうなのが、若干気がかりですが。(なんとか、両立させるかなぁ・・・)
|
ramrun |
投稿日時: 2009/8/1 9:19
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ページ送り機能について これは失礼しました(汗)。
ページ送りをPOSTからGETに変更したときに、検索ブロックからの確認を一切していませんでした... とりあえず変更したタイミングは チェンジセット 18187 http://svn.ec-cube.net/open_trac/changeset/18187#file27 目的は チケット #261 http://svn.ec-cube.net/open_trac/ticket/261 いま↓になっている部分を
↓にしてみてください。 チェンジセット 18250 ちなみに、もともとのページ送りは
でPOSTになっていて、HTTPキャッシュがnocacheだとIE系のブラウザの戻るでページの有効期限切れという問題があったため、ついでにGETに変えた... という感じです。 追記: また、安易に全ページでHTTPキャッシュをnone(有効)とすると、transactionidを利用する遷移で不正なページ遷移...となる場合がでてきます。 |
seasoft |
投稿日時: 2009/8/1 10:46
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ページ送り機能について 引用:
おー 危なかった。 POST にして、エンバグさせてしまうところだった。 こうなったら、全パラメータを GET へ持って行きますかね。で、URL 生成は <form> と JavaScript に依存させて、HTML 上はページ遷移をしているだけのようなふりをすると。そうすれば、操作性もSEOも確保できそうな。URL は長くなりますが、あまり影響はないでしょう。静的URLに偽装する人は若干苦労するかもしれませんが。
|
rst |
投稿日時: 2009/8/1 11:07
対応状況: −−−
|
一人前 登録日: 2008/8/17 居住地: 投稿: 80 |
Re: ページ送り機能について お返事ありがとうございます。
変更したところ思うような動作ができました^^おかげ様ですっきりです! |
ramrun |
投稿日時: 2009/8/1 18:19
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ページ送り機能について seasoftさん
引用: こうなったら、全パラメータを GET へ持って行きますかね。で、URL 生成は <form> と JavaScript に依存させて、HTML 上はページ遷移をしているだけのようなふりをすると。 統一されていればコードを読むのも楽ですね。 ただ個人的にはカテゴリブロックからクロールで辿ってくるのは歓迎ですけど、検索ブロックからのURLとか、価格順とか新着順とか、そういうパラメータはクロールされづらいほうがいいような気もします。 最初はページ送り生成の処理自体をGETに変えてしまおうと思ったんですが、管理側でも共通の処理を使ってて。 管理側の商品検索とかは条件が多すぎて、こちらはPOSTのまま変えられないなぁと妥協しました(汗)。 |
seasoft |
投稿日時: 2009/8/2 21:18
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ページ送り機能について 引用:
さすがに、EC-CUBE 全てのページ送り生成の処理を書き直すだけの体力はありませんが、商品一覧については、何とか GET に統一しようかと思います。 href はページ指定のみ、onclick でフォーム送信(GETメソッド)とすることで、検索エンジンからは順序は default となる方向で実装を試みています。
|
ramrun |
投稿日時: 2009/8/3 9:39
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ページ送り機能について チェンジセット 18250で修正しました。
また先に連絡した修正はテンプレ側でもエスケープされていなかったので、XSS脆弱となります。 このスレをみて修正した方は、チェンジセット 18250を適用しなおしてください(汗)。 追記: seasoftさんへ スレの件と関係ないのですが、xamppliteでインストール確認したところ Parse error: parse error in C:\xampplite\htdocs\eccube\data\class\SC_CheckError.php on line 34 がでておりました。 チェンジセット 18248の影響と思われます。 確認お願いします。 追記2:18249 に不具合あり 18250 で修正しました(汗) |
seasoft |
投稿日時: 2009/8/4 12:50
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ページ送り機能について 引用:
別の方からもメールで報告がありまして、昨日 r18251 にて差し戻しさせていただきました。
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |