カテゴリー

open all | close all

Gallery

hokkaidu1411 (13) DSC03927 DSC04054 DSC00154 DSC00760 IMG_0645

Instagram



メインページを分割

よくあるブログサービスのように、メインページで表示されるエントリーの数を限定し、その前のエントリーへリンクを飛ばしたいと、いろいろ調べてみました。
丁度今日届いた本『Movable Typeブログ拡張パーツ&デザインガイド』
4839919445.jpg
にも、アーカイブの分割は載っていたのですが、メインページのことはかかれていません。
で、見つけたのが、こちらのサイト
すごくわかりやすかったので、こちらを参考にやってみました。

まず、「MTPaginate」をダウンロード、解凍したら、「MTPaginate.pl」を「plugins」フォルダにアップロードします。
次に、メインテンプレートの出力ファイル名を、「index.php」に変更。
そして、メインテンプレートを変更します。
こちらでのタグを参考に(ほとんどそのまま(^_^;))、
まず、

<MTPaginate>
<MTPaginateContent max_sections="7">

を、
<MTEntries>の前に挿入します。
1ページに表示する記事数は、[max_sections="7"] で設定。

次に、

<$MTPaginateSectionBreak$>

を、</MTEntries>の前に入れます。

そして、</MTEntries>の後に

<MTPaginateIfMultiplePages>
<MTPaginateIfMiddlePage_>
<a href="../blog/<$MTPaginateNextPageLink$>" target="_self" title="前のページ">≪前のページへ</a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfFirstPage_>
<a href="../blog/<$MTPaginateNextPageLink$>" target="_self" title="前のページ">≪前のページへ</a>
</MTPaginateIfFirstPage_>

<$MTPaginateNavigator style="popup" format_all="all " place_all="after" separator="|" target="_self">

<MTPaginateIfLastPage_>
<a href="../blog/<$MTPaginatePreviousPageLink$>" target="_self" title="次のページ">次のページへ≫</a>
</MTPaginateIfLastPage_>
<MTPaginateIfMiddlePage_>
<a href="../blog/<$MTPaginatePreviousPageLink$>" target="_self" title="次のページ">次のページへ≫</a>
</MTPaginateIfMiddlePage_>
</MTPaginateIfMultiplePages>
</MTPaginate>

を挿入します。
(次のページと前のページへのリンクの矢印などは、参考にさせて頂いたサイトと逆にしました。
どちらがいいかは、わかりませんが・・・(^_^;)
※<a href="../blog/<$MTPaginatePreviousPageLink$>" target="_self" title="
の../blog/は、自分のブログのホルダーになります。

それとブログの設定で表示する日数を変更します。
私は3650日にしました。
まあ、10年もこのシステムでつけるとは思わないのですが・・・
で、うまくいったように思ったのですが、一つ落とし穴がありました(^_^;)

私がブログを設置しているサーバーは「さくらインターネット」なのですが、ここではphpはcgi的に作動します。
ですので、パーミッションを705などにしてやらないといけません。
ftpで設定しても、再構築すると666になってしまい、サーバーエラーになってしまいます。
で、MTは使ってないけどプログラミングやウェブ構築のエキスパートである友人に相談したところ、

おそらく、なにかのファイルが、メインページを生成(再構築)するときに、
パーミッションが666で書かれてるのだと思います。
なので、その再構築する命令が書かれているファイルの、
再構築命令の次に、
chmod(0705,”パーミッションを変更したいファイル名”);
を入れてあげれば大丈夫と思います。
再構築した直後に、強制的にパーミッション705に変更します。
通常、パーミッションは666でもPHPは動作するのですが、
どうやら、さくらインターネットのサーバでは少し特殊なようで、・・・

という、アドバイスをもらいました。
そこで、いろいろファイルを調べていると、[mt-config.cgi] の中に
*****************************
# In addition to controlling permissions via umask settings, you can also
# use the HTMLPerms and UploadPerms settings to control the default
# permissions for files created by the system (either as output files or
# uploaded files). The only real use of this is to turn on the executable bit
# of files created by the system–for example, if MT is generating PHP files
# that need to have the executable bit turned on, you could set HTMLPerms
# to 0777. The default is 0666. You should not change these settings unless
# you know what they mean, and what they do.
#
# HTMLPerms 0705
# UploadPerms 0705
*****************************
って一文があったので

# HTMLPerms 0705
# UploadPerms 0705
     ↓
HTMLPerms 0705
UploadPerms 0705

に変更したらうまくいきました。