Salad Days Rider さんが示されているサンプルをちょっとアレンジして説明します。
下記のように、記事が日付の古い順に並んでいて、今は記事No.3を読んでいるとします。
- 1月1日 カテゴリA内 記事No.1
- 1月2日 カテゴリB内 記事No.2
- 1月3日 カテゴリB内 記事No.3 ←現在位置
- 1月4日 カテゴリA内 記事No.4
- 1月5日 カテゴリB内 記事No.5
記事No.3を読み終えて、次の記事に移動しようとナビボタン(Next)をクリックします。
すると、予想していた記事No.5ではなく、記事No.4が表示されてしまうのです。
カテゴリBの物語を読んでいたら、いきなりカテゴリAの日記が表示されるようなものです。これはちょっとした問題、いやいやけっこう重大な問題です。
実は、これはシステムの不具合ではなく正常な動作です。
と言うのも、
記事は日付順に並んでいるので、"次の記事" というのは "次の日付の記事"
を意味しているからです。
これを知らない方にはちょっとした混乱が起こるかもしれません。いや知っていたとしても、「あれ?」っと思うことでしょう。
実は私自身がこのサイトで「あれ?」っと思ったので、今この記事を書いてます。
幸いにもFC2ブログでは、過去や未来の日付を設定することができますので、
"表示させたい順番に日付と時刻を設定する"
という安易な方法で今までは対処してきました。
ですが、そろそろ限界です。根本的な対処法を探そうと思っています。
課題は、「記事表示モードの時に、ナビボタンで別のカテゴリには移動できないようにしたい」ということです。
現状を単純に表現すると下のようになります。
<!--nextentry-->
<a href="<%nextentry_url>">次の記事へ</a>
<!--/nextentry-->
<%nextentry_url> と <%topentry_category> を足したような単変数ってないかな?と淡い期待をしつつテンプレート機能一覧を見てみましたが、そのような単変数はないようです。
FC2の独自タグや変数について私の知識が乏しいこともあり、本当は超簡単なことなのか、あるいは、難題に直面しているのかすらわかりません。
困った時はFC2のユーザーフォーラム内を検索すると、たいていは "答えそのもの" か "ヒント" を見つけることができます。ですが、今回の件に関してはまだ解決策を見つけられない状態です。
どなたか対処法をご存知の方はいらっしゃいませんか?
とりあえず、問題提起だけさせて頂いて、解決策が見つかり次第この記事内でご報告できればと思います。
追記
解決しました!
hassakuさんのご意見を参考に、問題が解決しましたのでご報告します。
まず、私が提起した下記の課題ですが、
「記事表示モードの時に、ナビボタンで別のカテゴリには移動できないようにしたい」
勉強すれば何とかなるというレベルではなく、システム上不可能なことがわかりました。
ということで、可能なことだけを実行しました。修正個所は下記の通りです。
-
個別記事表示モードの時に、前後の記事へ移動するナビボタンを付けていましたが、これを削除しました。その結果、次の記事へ移動するには、もくじ経由になってしまいましたが、少なくとも「あれ?」っという混乱は避けられます。この修正だけで、問題自体は一旦解決です。
-
次に、More(続きを読む)を開閉式に修正しました。今まではMoreをクリックすると個別記事にモードチェンジしていましたが、その場で「続き」が読めるようになりました。この方法ですと、次の記事がすぐ下に表示されますので、下に向かってどんどん読み進めていくことができます。
-
さらに、もくじをクリックした時のリンク先を修正しました。今までは個別記事に移動していたのですが、もくじと同じページ内で移動するように修正しました。
他にもちょこちょこと修正したところがありますが、目立った修正個所は以上です。
hassakuさんのブログのコメント欄でも、このネタの解決法がいくつか記されています。そちらもかなり参考にさせて頂きました。
今回はhassakuさんに登場して頂いたおかげで、とんでもなく早く解決に至ることができました。貴重なご意見ありがとうございました。
さらにラッキーなことに、hassakuさんが作った「Flickr風ページナビ」という優れものをご紹介頂きました。サンプルを拝見しましたが、前後のページに移動できるのは当然として、数字をクリックするだけで行きたいページへ移動できます。
「Flickr風ページナビ」は共有プラグインに登録されているとのことですので、近いうちに試させて頂こうと思います。設置の状況については、別の記事でご報告させて頂く予定です。