個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
bcacsato
パワーユーザー
記事: 233
登録日時: 2005年11月27日(日) 14:05

個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by bcacsato » 2012年9月14日(金) 05:27

リファレンスマニュアル5.5.8に従い、エントリ一覧と個別エントリ間のリンクに@hrefを使い、
URLに絞り込み条件のパラメータも含めた形でリンクを貼っています。

しかしこれですと、個別エントリからエントリ一覧に戻った際にエントリIDが残ったままになるため、
一覧ページのURLがそのつど変わってしまいます。
そのため、アクセス解析で別ページとしてカウントされてしまいますし、SEO的にもよくないような気がします。

かといって、パラメータがつかないように、@idでリンクさせる形にすると、
絞り込み条件のパラメータが消えてしまうため、
エントリ一覧にリンクした際に、最初とは違うページに戻ってしまいます。

これを解決する方法はありますでしょうか?
何かよい方法がありましたら、ご教示いただけますと幸いです。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by webmaster » 2012年9月19日(水) 11:59

bcacsatoさん、いつもご質問ありがとうございます。

ご質問の件ですが、現時点では非常に複雑な方法しかなく、現実的ではない為、何か機能追加を考えたいと思います。

そこで、もし可能でしたら、今回どのようなURLパラメータが実際に生成されているか、教えて頂けないでしょうか。

(1) 一覧ページから個別ページへ遷移する際のURLパラメータ(?以降の部分)
(2) 個別ページから一覧ページへ戻る際のURLパラメータ(?以降の部分)

パラメータは「param1,2,3..」、データは「data1,2,3...」のように改変して頂いて結構なのですが、パラメータがいくつ、どのような順序で生成されているのかが知りたいのです。

問題は、「一覧ページの絞込み条件を、個別ページへ遷移してまた一覧ページへ戻った際にも維持したい」という事かと思うのですが、CMS Designerでは絞込み条件以外にもパラメータが付与される事がある為、どのケースまでカバーすべきかについて検討しております。

具体例が難しい場合、一律で、「個別ページに与えられた絞込み条件のみを取得する機能」を追加し、「一覧へ戻る」のリンクに付与できるようにしたいと思います。
(逆に、「それで問題ない」ということでしたら、具体例については結構です)

以上、いつもお手数をおかけしますが、よろしくお願いいたします。

bcacsato
パワーユーザー
記事: 233
登録日時: 2005年11月27日(日) 14:05

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by bcacsato » 2012年9月19日(水) 13:35

webmasterさま、ご回答ありがとうございます。

具体的には、下記のようになります。
一覧ページ index.php?cate=1

個別ページ detail.php?eid=00018&cate=1

一覧ページ index.php?eid=00018&cate=1
このような回答でよいでしょうか?
(ご質問の意図と違ってましたら、すいません。)

個人的にはエントリID(eid)さえ消えればよいかと思ってます。

よろしくお願いいたします。

bcacsato
パワーユーザー
記事: 233
登録日時: 2005年11月27日(日) 14:05

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by bcacsato » 2012年9月21日(金) 11:54

エントリIDを以外にもパラメータを削除したい場合がありました。

下階層のCMSページの内容をトップページの新着情報にも流用したいとき、
「top」などのパラメータを使い、絞り込み表示させています。

ただ、これですとトップページから実際のページにリンクさせた際に、
「top」というパラメータが付いたままになってしまうため、
この場合にはエントリIDやリンク先ページに関するパラメータ等は残して
トップページに表示するためのパラメータ「top」だけを削除したいです。

ご検討よろしくお願いいたします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by webmaster » 2012年9月21日(金) 17:12

bcacsatoさん、お返事ありがとうございます。

二つ目のお話(topの指定)の場合、例えば具体的にはどのようなパラメータになっているでしょうか。

@href には、それが表示される際に使われた絞込み条件が丸ごと入っているので、@href を使って詳細ページへのリンクを作ると、おっしゃる通りの挙動になってしまうかと思います。ただ、詳細ページについてはエントリIDがついていれば十分ですので、その場合ですと @id を利用すれば大丈夫かと思います(リファレンスマニュアル「5.5.8 エントリ一覧から個別のエントリへリンクを張る」が参考になるかと思います)。

もしそうではない場合、今回想定している「トップページ」から「実際のページ」へのURLパラメータの例を教えて頂けますと、何か解決の手がかりとさせて頂けるかもしれません。

bcacsato
パワーユーザー
記事: 233
登録日時: 2005年11月27日(日) 14:05

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by bcacsato » 2012年9月22日(土) 07:52

管理画面で「トップページに表示する」を選択すると「top=1」、「表示しない」を選ぶと「top=2」になるように設定しています。

そして、トップページでは「top=1」に絞り込んで表示させています。

ただ、これ以外にも、「イベント情報」「新製品情報」「その他お知らせ」といったカテゴリを設けており、
ジャンプ先のページで該当カテゴリに表示させるよう「category」といったパラメータも付けたいのです。

そのため、リンクURLのパラメータは下記のようになります。
news.php?eid=00001&cate=1&top=1

リンク先のページでは「top=1」のパラメータは不要なため、これを除去できればと思っています。

@idを使うと、「category」のパラメータを付けられないため、困っていました。

これに関連して、下記の質問もしておりますので、併せてよろしくお願いします。
http://cms.al-design.jp/phpbb/viewtopic.php?f=11&t=2089

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by webmaster » 2012年9月22日(土) 14:05

bcacsatoさん、お返事ありがとうございます。
なるほど、エントリIDとtop関連以外にも、必要なパラメータ(cate)があるのですね…。

ところで、news.php で表示しているのはエントリ1件分だと思うのですが、cate自体はエントリデータとして含まれていないのでしょうか?
(つまり、cateはデザインパラメータなのでしょうか?)

もしエントリデータに含まれているのであれば、絞込み条件としてURLから渡さなくても、直接<xsl:value-of select="cate" />や<xsl:if test="cate='xxx'"></xsl:if>などで取得できるかと思いますので、その場合には、リンクURLはeidのみで大丈夫になります。

何度もお手数をおかけしており申し訳ありません。またお返事をお待ちしております。

bcacsato
パワーユーザー
記事: 233
登録日時: 2005年11月27日(日) 14:05

Re: 個別ページから一覧ページへの遷移時にURLからエントリIDだけを除外したい

投稿記事 by bcacsato » 2012年9月22日(土) 17:07

webmasterさま

ご教示いただいた方法でうまくいきました。
http://cms.al-design.jp/phpbb/viewtopic ... 5292#p5292

ありがとうございました。

返信