FC2ブログのエリア変数(2)ページエリア「<!--page_area-->」|ブログカスタマイズの雑談BLOGスマートフォン専用ページを表示ブログカスタマイズの雑談BLOGブログのカスタマイズやパソコン・ネットに関する雑談をするブログです。前回の記事<■FC2ブログのエリア変数(1)基本的な考え方>の2番では、色んなエリア変数を紹介しました。その中で使い方が難しいのが「ページエリア」のエリア変数です。【http://□□□.blog.fc2.com/page-1.html】<!--page_area-->ページエリアに表示させたい内容<!--/page_area--><!--not_page_area-->ページエリアに表示させたくない内容<!--/not_page_area-->エリア変数の紹介としてはこのように表記するしかなかった、という感じです。実際、「ページエリア」はちょっと理解しにくくて、使いにくいですね。上記のような記述で意図したことを実現できるのかと言われたら、それは違います。「<!--page_area-->」という変数については、実はFC2ブログのPC用公式ヘルプには書いてありません。この変数はどうやらスマホ用と携帯用に設定されているようですが、スマホ用では「スマートフォンページのページナビを表示させるブロック」と説明されています。....ちょっとよくわからないwまあ、このエリア変数はスマホ用だけではなくPC用のテンプレートでも使えるんですけどね。「<!--page_area-->」はそのまま読むと「ページエリア」なので私は「ページエリア」と呼んで説明していますが、だからと言ってそれだけではあまり意味がわからないと思います。この記事では、「ページエリア」とはどういうものなのかを説明して、気になる部分を検証してみます。■FC2ブログのエリア変数(4)同じ内容を複数のページに表示する「ページエリア」はどういうものなのか「ページエリア」とは、「次ページ」に対するエリア変数なのだと私は理解しています。ブログのトップページを開くと、もちろん記事が表示されますよね。記事が1つだけならば何も問題は無いのですが、記事を50個書いていたら、ブログのトップページに50個全てが表示されるはずはないですよね。「次ページ」への案内リンクがあって、クリックしたら次のページに進むはずです。ブログのトップページのURLは「http://□□□.blog.fc2.com/」です。この場合の「次ページ」のURLは「http://□□□.blog.fc2.com/page-1.html」になります。「ページエリア」は「次ページ」に対するエリア変数です。「ページエリア」の変数は「page-●.html」というURLアドレスになり、これはページがある限りずっと続くわけです。2ページ目、3ページ目などに表示させたい内容がある場合はこの「ページエリア」を使えばそれが可能になります。)こういう意味で「次ページ」に対するエリア変数だと説明しました。「次ページ」があるのはトップページだけではありません。「カテゴリページ」「月別アーカイブページ(月・日別表示ページ)」「タグページ」「検索結果ページ」などにも「次ページ」があります。「ページエリア」は「次ページ」に対するエリア変数ですから、これらのページにも有効です。先ほど私は「次ページ」のURLを「page-1.html」と表記しました。いうことは「page-0.html」が存在することもおわかりですよね?「次ページ」が「page-1.html」なのだから「page-0.html」はトップページを意味します。ブログのトップページに対するエリア変数は「<!--index_area-->」です。トップページは「index」で表示されるわけです。ブログのトップページを指定しようと思った時に、実は「index」と「page-0.html」の2つがあるわけです。ブログのトップページ(index)と「page-0.html」は見た目が同じだけど中身は違うよ、ということです。(通常、「page-0.html」はFC2ブログでは表に出てこないで「index」が表に出てくるようです)で、ちょっとややこしくなりますが、「ページエリア」の変数「<!--page_area-->」には「index」も含まれているらしいのです。これは、表示の仕方を考えれば納得いくと思います。どちらもブログのトップページを指定できるわけですから、「ページエリア」には最初から「index」と「page-0.html」が同時に存在していると考えても大丈夫なはずです。ブログのトップページには表示させずに、2ページ目や3ページ目などの「次ページ」のエリアに表示させたい場合、「<!--page_area-->」を記述するとおかしくなるわけですよ。(「index」が含まれていますからね)なので純粋に「page-●.html」に対して指示をしたければ、「index」は外しておかなければいけないということのようです。以下、よくわからないと思いますので、実際に検証してみました。「ページエリア」を検証してみた「ページエリア」について色々と検証してみました。実は、検証方法としてはプレビュー画面での確認しかしていません。実際にテンプレートを「適用」させて検証したわけではありませんので、もしかしたら「適用」させたら違う結果になるかもしれません。そんなことは私は知りません(笑)あと今回は、ブログの「トップページ」と「カテゴリページ」を検証しました。「カテゴリページ」での結果は、そのまま「次ページ」のエリアを持つページ(「タグページ」や「月別アーカイブページ」など)での結果と同じものだと考えます。「次ページ」を持つエリアの代表として「カテゴリページ」で検証してみただけです。URLにはテンプレートをプレビューした時のURLを書いています。テンプレート名は「tamesi」です。「<!--page_area-->」だけで記述した場合<!--page_area-->ページエリア(次ページ)に表示させたい内容<!--/page_area-->●トップページ【http://□□□.fc2.com/?template=tamesi&index】:表示される●トップページの「次ページ」【http://□□□.fc2.com/?template=tamesi&page=1】:表示される●カテゴリ1【http://□□□.fc2.com/?template=tamesi&cat=1】:表示される●カテゴリ1の「次ページ」【http://□□□.fc2.com/?template=tamesi&cat=1&page=1】:表示されるブログのトップページにまで「次ページ」で表示させたい内容が表示されています。カテゴリ1にも表示されていますので、結局、「<!--page_area-->」だけで記述した場合は、すべての「ページエリア」に表示されるということでしょう。この場合、「ページエリア」という名前そのもの、ですよね。「ページ」の「エリア」には「表示させる」という意味になるかと思います。ブログの全部のページに表示されるわけです。「<!--page_area-->」から「<!--index_area-->」をはずして記述した場合<!--page_area--><!--not_index_area-->ページエリア(次ページ)に表示させたい内容<!--/not_index_area--><!--/page_area-->●トップページ【http://□□□.fc2.com/?template=tamesi&index】:表示されない●トップページの「次ページ」【http://□□□.fc2.com/?template=tamesi&page=1】:表示される●カテゴリ1【http://□□□.fc2.com/?template=tamesi&cat=1】:表示される●カテゴリ1の「次ページ」【http://□□□.fc2.com/?template=tamesi&cat=1&page=1】:表示される「<!--page_area-->」には「index」が含まれているので、はずしてみました。「index」のエリア変数のマイナス変数で挟めば「表示させない」という指示ができます。結果、確かにブログのトップページ(index)には表示されませんでしたが、カテゴリ1も含めて他のページには全て表示されています。「<!--not_index_area-->」は「トップページに表示させない」という指示なのですから当然の結果ですよね。上記(2)では、「<!--not_index_area-->」を記述すると「トップページに表示させない」という指示になるので「カテゴリページ」には表示されるのが当然だ、という検証結果を得ました。次は「カテゴリページにも表示させない」という指示を出してみます。<!--page_area--><!--not_index_area--><!--not_category_area-->ページエリア(次ページ)に表示させたい内容<!--/not_category_area--><!--/not_index_area--><!--/page_area-->●トップページ【http://□□□.fc2.com/?template=tamesi&index】:表示されない●トップページの「次ページ」【http://□□□.fc2.com/?template=tamesi&page=1】:表示される●カテゴリ1【http://□□□.fc2.com/?template=tamesi&cat=1】:表示されない●カテゴリ1の「次ページ」【http://□□□.fc2.com/?template=tamesi&cat=1&page=1】:表示されない確かに「カテゴリページ」のインデックスページ(1ページ目)にも表示されませんし、「カテゴリページ」全部(2ページ目、3ページ目など)にも表示されないという結果になりました。「カテゴリページにも表示させない」という指示なのだから当然ですね。カテゴリページの「次ページ」に表示させたいので、他の「次ページ」があるページエリアをはずして記述した場合こういう指示を出したい時があるのかどうなのかわかりませんが、特定のエリアの「次ページ」にだけ、表示させたいものがある場合を想定してみました。「カテゴリページ」の「次ページ」にだけ表示させたいものがあるので、他の「次ページ」があるページエリアをはずして記述する、というものです。「カテゴリページ」には表示させたいわけですから、「カテゴリページ」ははずしません。すると、ここら辺で私がいったい何を検証しているのかわからないくなるかもしれませんので念のために書いておきますが、私は今、「<!--page_area-->」を検証しています。「<!--page_area-->」は「次ページ」に対するエリア変数ですから、「<!--page_area-->」を記述した上で、「カテゴリページ」の「次ページ」にだけ表示させることが可能なのか、を調べてみたいわけです。(検証結果を書かなくても、この文章の内容で簡単に想像できると思いますけどねw)<!--page_area--><!--not_index_area--><!--not_search_area--><!--not_tag_area--><!--not_date_area-->ページエリア(次ページ)に表示させたい内容<!--/not_date_area--><!--/not_tag_area--><!--/not_search_area--><!--/not_index_area--><!--/page_area-->●トップページ:表示されない●トップページの「次ページ」:表示される●カテゴリ1:表示される●カテゴリ1の「次ページ」:表示される●その他のエリア:表示されない●その他のエリアの「次ページ」:表示されない「<!--not_index_area-->」を記述しているのでトップページには表示されませんが、トップページの「次ページ」には表示されます。はずしたのはトップページだけ、だからです。しつこいですが、「<!--page_area-->」は「次ページ」に表示させるという指示です。「カテゴリページ」を外していないので(「<!--not_category_area-->」は記述していません)、「カテゴリページ」には表示されます。「カテゴリページ」の全てのページに(2ページ目、3ページ目にも)表示されます。「カテゴリページ」以外のページをマイナスのエリア変数を使ってはずしました。当然ですがその他のエリアには表示されません。「次ページ」だから云々ではなく、その他のエリアのページ全てに表示されません。(マイナスのエリア変数とは、そのエリアには表示させないという指示なので当然です。)トップページの話と混同しないでくださいね?トップページ部分では「<!--not_index_area-->」を記述しているため、「トップページ」を指定して表示させないように指示しているのです。指示したのは「トップページエリア」ではありません。「トップページ」を名指しして「表示させない」という指示を出しているのです。(「index」です。「index」を表示させないという意味のマイナスのエリア変数を使っているのです。)その他のエリアのマイナスのエリア変数は「index」限定ではありません。「そのエリアには表示させない」という指示ですから、トップページでは「次ページ」が表示されるからといってその他のエリアでも「次ページ」が表示されるとは思わないでください。「カテゴリページ」まで外してしまったら、至極当然ですが、「カテゴリページ」全てに表示されません。「次ページ」とか関係ありません。◆「<!--page_area-->」を使っても、特定ページの「次ページのみ」に表示させることはできない◆「<!--page_area-->」を使うと、必ず「トップページの次ページ」に表示される上記(4)を読まれたらご理解いただけると思いますが、「<!--page_area-->」というエリア変数を記述すると、絶対にトップページの2ページ目、3ページ目にもその内容が表示されることになります。