« 鯖落ちてましたTT | メイン | iPod mini落としたTT »
2005年03月15日
php化完了とカテゴリーページの分割
このエントリーのポイントはMTPaginateのエラーの原因と、Vine Linuxでのphp.iniの設定です。
php化が一通りできたところで、カテゴリーページの分割をしたくなりました。
そもそもこのカテゴリーページってデフォルトだと例え1000エントリーあっても1ページで表示してしまうのはおかしな仕様であり、ページ分割は本来MT自体に備わっているべきもっとも基本的な機能のひとつだと思います。
で、そのページ分割するには現状ではMTPaginateというプラグインを使うのが一番手っ取り早いらしく(詳しいやり方などは他のページを見てください)、わたしもやってみたところ、簡単なはずなのに以下のエラーが出てしまいます。
Smarty error: [in mt:35 line 125]: syntax error: unrecognized tag 'MTPaginate' (Smarty_Compiler.class.php, line 556)
いろいろ調べてみると、MTPaginateはMTをダイナミックページ生成設定にしていると使えないことがわかりました。まんまとこのMTの設定を「アーカイブのみダイナミック」にしていました。
ここで問題になるのが、先日発覚したスタティックなページの文字化け。ひとまずそのまま「すべてスタティック」に戻して再構築してみたら、phpの拡張子のページは全て文字化けしました。予想通りですが。^^;
ふと思いたって、ワタクシが普段使っている他の二つのホスティングサーバーとうちのVineのphp.iniを比べてみると、Vineのphp.iniはmbstringを中心に他のふたつとかなり異なっていることに気付きました。
Vineは意図があってそうしているのだとは思いますが、互換性のため、他のホスティングサーバーと同じような設定にしてみたところ、スタティックなページでも文字化けが解消されました。
php.iniの変更した部分は以下。丸括弧内はVineのphp5でのデフォルト設定です。
//---------------------------------------------------
default_charset: no value ("Shift_JIS")
output_handler: no value (mb_output_handler)
mbstring.detect_order: no value (auto)
mbstring.encoding_translation: Off (On)
mbstring.http_input: Pass (auto)
mbstring.http_output: Pass (SJIS)
mbstring.internal_encoding: Off (On)
//---------------------------------------------------
念のため書いておくと、「no value」というのは明示的に設定がされていないということであり、該当行を削除するかコメントアウトすれば大丈夫です。
以上で、phpも正常表示され、ページの分割も可能になりました。めでたしめでたし。
投稿者 Utayume : 2005年03月15日 17:47| 04 Blog /Linux
AD
トラックバック
このエントリーのトラックバックURL:
http://ondes-martenot.info/MT/mt-tb.cgi/369
このリストは、次のエントリーを参照しています: php化完了とカテゴリーページの分割:
» カテゴリーアーカイブと月別アーカイブのページ分割 from Nakamura's Weblog
以前から気になっていたのですが、カテゴリーアーカイブの表示で、エントリー数が増え... [続きを読む]
トラックバック時刻: 2005年04月18日 20:20