メインページのページ分割(その3)[MT5]

2010年3月29日

今回は、もともとの目的やった、Googleで検索したときに、ページ下部にある・・・ページャーっていうんですか、アレを作ります。smile

まぁ、まったくおんなじやと、Googleさんに怒られそうなので、雰囲気だけパクります。happy02

 

Googleフォントを手に入れる

1)っといっても、実際Googleに使われてるロゴはCatullっていう有料のフォントなので、下記のページよりロゴを作成してください。

[参考サイト]

2)今回は、ワシの名前「Rappan」で作成しました。気に入った色にならないときは、気に入った4色になるまでいじってみるといいです。

 

画像を分割する

1)まずはロゴがそのままでは大きいので、Photoshop等で小さくします。高さ110pxを40pxにしました。

2)いよいよ画像の分割です。Rappanの場合「p」はリンクのページと現在のページの2色使います。「Ra」と「an」は、1パターンづつです。そうそう「p」の下には画像のようにページの数字が入るのでその分、全体下に伸ばして分割してください。(赤枠が数字の入る部分)

100329-2.gif

3)用意したのは左から、前に戻る「before.gif」、左端のロゴ「left.gif」、リンクページ「link_background.gif」、現在ページ「background.gif」、右端のロゴ「right.gif」、次に進む「next.gif」の6点です。

そしてロゴのガタガタ感をなくす為に、全部のロゴは画像の高さを同じにしておきます。(わかりやすいようにバックはピンクの色をつけてあります。)

100329-1.gif

4)そしてそれらをUPしておきます。うちの場合はimageフォルダにUPしました。

 

プラグインPageBute.plをいじる

PageBute.plを開き、190行191行を下記のように書き換えます。

my $page_link_format  = '<li><a href="%%URL%%" class="%%CLASS_NAME%%">%%LINK_NAME%%</a></li>';
my $page_static_fromat = '<li class="current_page">%%LINK_NAME%%</li>';

 

メインページのソース書き換え

前回記述した<div>タグの部分のみ、下記に書き換えます。書き換えることによって、実際ページャーが表示されたページには、<span>タグが混ざらないソースとなるワケです。

<div class="content-nav">
<ul>
<mt:ifPageBefore>
<$mt:PageBefore delim="前へ"$>
</mt:ifPageBefore>
<li class="left"></li>
<$mt:pageLists delim=""$>
<li class="right"></li>
<mt:ifPageNext>
<$mt:PageNext delim="次へ"$>
</mt:ifPageNext>
</ul>
</div>

 

スタイルシートに記述する

下記のように記述します。ページの数字や文字は、画像の上から38pxの位置にくるようにしました。

div.content-nav{
  margin:0 0 0 80px;
}

div.content-nav ul{
  margin: 0;
  padding: 0;
}

div.content-nav ul li{
  list-style-type: none;
  float: left;
  margin-right: 2px;
  font-size: 12px;
}

div.content-nav li.left{
  display: block;
  background-image: url(image/left.gif);
  width: 40px;
  height: 54px;
}

div.content-nav li.right{
  display: block;
  background-image: url(image/right.gif);
  width: 35px;
  height: 54px;
}

div.content-nav li a.link_before{
  display: block;
  background-image: url(image/before.gif);
  width: 35px;
  height: 16px;
  text-align: center;
  padding: 38px 0px 0px 0px;
}

div.content-nav li a.link_next{
  display: block;
  background-image: url(image/next.gif);
  width: 35px;
  height: 16px;
  text-align: center;
  padding: 38px 0px 0px 0px;
}

div.content-nav li.current_page{
  display: block;
  background-image: url(image/link_background.gif);
  width: 17px;
  height: 16px; 
  color: #ff6600;
  text-align: center; 
  padding: 38px 0px 0px 0px;
}

div.content-nav li a.link_page{
  display: block;
  background-image: url(image/background.gif);
  width: 17px;
  height: 16px; 
  color: #1a1a19;
  text-align: center;
  padding: 38px 0px 0px 0px;
}

 

再構築して出来上がり。catface

どうです?なかなかいいでしょ?パクりですけど。happy02

100329-3.gif

メインページのページ分割(その2)[MT5]

2010年3月28日

前回は、一応のページ分割をしたけれど、今回はスタイルシートで整えてみようと思ってます。

で、検索してたら、ええサイトが見つかりました。3ページに渡って記事をかかれているので、どうなるか不安でしたが、挑戦です。sweat01

[参考サイト]

 

で、何をするのかと言いますと、グローバルナビゲーションとかでよくやる、リスト形式を横並びにしておき、バックの画像をスライドさせることでロールオーバーを実現することをしてます。

 

画像の用意

1)次の4つの画像を用意します。

  • リンクページに使う画像(background.gif)
  • 現在のページに使う画像(active_background.gif)
  • 前ページの画像(left.gif)
  • 後ページの画像(right.gif)

ちなみに、ここでは以下の4つを用意しました。基本は25px×25pxですが、background.gifのみ25px×50pxにします。

100328-5.gif

2)そしてこの画像をUPします。うちの場合は、imageフォルダへUPしました。 

 

メインページのソースの変更

デザイン>テンプレートを開き、メーンページの中のソースを以下のように書き換え。(青字部分が変更部)

<div class="content-nav">
<ul id="page-list">
<mt:ifPageBefore>
  <li id="previous-page"><$mt:PageBefore delim="前に戻る"$></li>
</mt:ifPageBefore>
<li><span><$mt:pageLists delim='</span></li><li><span>'$></span></li>
<mt:ifPageNext>
  <li id="next-page"><$mt:PageNext delim="次に進む"$></li>
</mt:ifPageNext>
</ul>
</div>

 

スタイルシートに追加

以下をスタイルシートに追加。

ul#page-list li span {
   width: 25px;
   height: 25px;
   background-image: url(image/active_background.gif);
   color: #ffffff;
   text-align: center;
   font: 90%/25px Georgia, "Times New Roman", Times, serif;
   margin-right: 5px;
   display: block;
   float: left;
 }

ul#page-list li span a {
   width: 25px;
   height: 25px;
   background-image: url(image/background.gif);
   display: block;
   color: #1a1a19;
   text-align: center;
   font: 90%/25px Georgia, "Times New Roman", Times, serif;
 }

ul#page-list li#previous-page a {
   text-indent: -9999px;
   background-image: url(image/left.gif);
   width: 25px;
   height: 25px;
   display: block;
   float: left;
}

ul#page-list li#next-page a {
   display: block;
   text-indent: -9999px;
   background-image: url(image/right.gif);
   width: 25px;
   height: 25px;
   float: left;
}

ul#page-list li a:hover {
   background-position: 0 -25px;
   color: #ffffff;
} 

 

そして再構築。ところが出来上がってみると、下の画像のように、現在ページの部分だけ表示がおかしくなります。画像では2ページ目がおかしくなってますが、他のページを開いても現在ページだけおかしいんです。coldsweats02

ソースをのぞいてみると、現在ページには<span>タグが2重についていました。

100328-3.gif

 

メインページのソース修正

そこで、以下のように修正です(赤字の行)。

<div class="content-nav">
<ul id="page-list">
<mt:ifPageBefore>
  <li id="previous-page"><$mt:PageBefore delim="前に戻る"$></li>
</mt:ifPageBefore>
<li><$mt:pageLists delim='</li><li>'$></li>
<mt:ifPageNext>
  <li id="next-page"><$mt:pageNext delim="次に進む"$></li>
</mt:ifPageNext>
</ul>
</div>

 

PageBute.plの修正

PageBute.plを開いて190行目あたりの部分を以下のように修正(青字追加)。そしてpluginsフォルダにUP。

my $page_link_format  = '<span><a href="%%URL%%" class="%%CLASS_NAME%%">%%LINK_NAME%%</a></span>';

 

再構築して以下のように完成。スタイルシートで、<div>タグに位置の指定をしてます。

画像にマウスを乗せるとロールオーバーして、とてもいい感じです。

でも自分的にはこれじゃーまだ物足りないですね。画像も適当に用意したし・・・。もうちょっといじってみようかと思ってます。wink

100328-4.gif

メインページのページ分割(その1)[MT5]

メインページにページ分割を表示させようと思う。何記事かに区切って表示させる方法・・・Googleで検索した時に出るアレである。↓

100328-1.gif

 

最終的に、Googleみたいな雰囲気でRappanってな感じをやりたいんやけど、とりあえずまずは、ページ分割を先にすることに。

またもや、小粋さんにお世話になりました。

[参考サイト]

PHP化を行わずにページ分割できるPageButeプラグインですが、PHP化後でもたぶん使えるだろうってことで使ってみました。

 

PageButeプラグインのインストール

1)バージョンが3つ表示されてますが、最新のPageBute3.4.3をダウンロード。

2)解凍して出てきたPageBute.plを、いつものpluginsフォルダへUP。

3)システム>ツール>プラグインにて確認。

 

メインページに記述

1)<mt:Entries>の前に下記を記述(青字)。赤字は、1ページを何ページで区切るかの数字です。うちの場合は3つぐらいで。

  <mt:pageContents count="3">
<mt:Entries>

2)</mt:Entries>の前後に下記を記述(青字)。

  <$mt:pageSeparator$>
</mt:Entries>
  </mt:pageContents>

3)ページ分割を表示したいところへ下記を記述。うちの場合は記事の一番下にもってきました。そして保存して構築。

<div class="content-nav">
<mt:ifPageBefore>
  <span><$mt:PageBefore delim="前に戻る"$></span>
</mt:ifPageBefore>
<span><$mt:pageLists$></span>
<mt:ifPageNext>
  <span><$mt:pageNext delim="次に進む"$></span>
</mt:ifPageNext>
</div>

4)設定>投稿を開き、公開の規定値にある「表示される記事数」を0にする。 

 

完成したらこんな感じです。スタイルシートで何もいじってないのでとりあえずって形です。catface

100328-2.gif

同カテゴリ内の前後記事へのリンク[MT5]

2010年3月24日

一応、記事の下には、前後の記事のリンクを貼ってあるんやけど、同カテゴリ内における前後の記事で表示させることにした。

またもやお世話になったのは小粋さん。shine

[参考サイト]

 

修正プラグインのダウンロード

公開されてるPreviousNextInCategory.zipをダウンロードして解凍。

 

プラグインのインストール

1)解凍して出てきたPreviousNextInCategoryフォルダをpluginsフォルダにUP。

2)システム>ツール>プラグインを開いて、PreviousNextInCategoryを確認。

 

「プログ記事」テンプレートにソースを記述

デザイン>テンプレートを開き、アーカイブテンプレートの「ブログ記事」の表示したい部分に下記のソースを記述。

2つにまたがるカテゴリ設定はめったにしないと思うけど・・・まぁ一応「すべてのカテゴリー」の方を。後でスタイルシートで調整するため、青字は追加。

<MTEntryCategories>
<p class="pnlink">
<MTEntryPreviousInCategory>
<a href="<$MTEntryPermalink$>">≪ <$MTEntryTitle$></a> |
</MTEntryPreviousInCategory>
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
<MTEntryNextInCategory>
 | <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> ≫</a>
</MTEntryNextInCategory>
</p>
</MTEntryCategories>

 

スタイルシートで調整

スタイルシートに下記のソースを記述。

p.pnlink{
  font-size: 11px;
  margin: 5px 10px 0;
}

 

今までの前後リンクの削除

レッスンブックで1からソースを記述していたため、ブログ記事には、前後記事へのリンクってのが記事の下に表示されてたけど、必要ないと思うので、ブログ記事中のその部分のソースと、スタイルシートで該当する部分を、そっくり削除。

 

今回もすんなりできました。感謝です。happy01