HomediaryMovableType

全ページ共通のメニューを表示させる

デフォルトのMTでは、「最新のブログ記事」表示内容がテンプレートごとに異なります。
  • 「メインページ」「ブログ記事」では単純に時系列で表示される
  • 「カテゴリ別ブログ記事リスト」では、そのカテゴリ内の記事が時系列で表示される
MTタグ記述内容は同じなのですが・・・テンプレートの仕様のようです。

全ページで共通のメニューを表示させたい場合は、以下の方法で。
ブログをPHP化していることが前提となりますよ!

全ページ共通で表示させたい項目をテンプレートにて作成し、そのファイルを<php readfile(またはinclude)>で読み込ませます。

前準備


PHP化していることが前提となります。

手順


(1)
インデックステンプレートを作成
タイトルを「メニュー:最近のブログ記事(任意)」とし、
デフォルトのブログのウィジェット「最近のブログ記事」の
<mt:Entries>・・・</mt:entries>までをコピペ。
ファイル名を「blogtitle.inc(任意)」として保存。

(2)
メニューで表示させたい部分に、
<?php readfile('<$MTBlogURL$>blogtitle.inc'); ?>
と記述。(上記コピペがうまく行かない場合は直接入力してください。)



ブックマークとRSS追加ボタンを1つに統合

ブログ記事右下にボタン追加。AddClipsのサービスです。ソーシャルブックマーク追加ボタンとRSSリーダーへの追加ボタンが1つに統合されております。ちっちゃいアイコンがズラーッと並ぶのも好きなのですが、こちらはスッキリまとまって機能的です。ボタンサイズが選べ、背景色などカスタマイズできます。

本文でテンプレートタグを利用可能にする

デフォルトでは本文でテンプレートタグを記述することができません。
でも大丈夫!モディファイア「mteval="1"」を設定すると、そのファンクションタグの内容に含まれるMTテンプレートタグが利用可能になります。

【利用例】
他のブログ記事へのリンクに<a href="<$MTLink entry_id="番号"$>">と設定できます。
ブログ記事のURLではなく、投稿時に割り振られるIDを元にリンクしています。
これによって、万一リンク先のURLが変わっても、再構築すれば自動で新しいリンク先に張りなおされます。

続き、ウェブページなどでも設定できます。

【設定の仕方】
ブログ記事本文:<$MTEntryBody mteval="1">
続き:<$MTEntryMore mteval="1">
ウェブページ:<$MTPageBody mteval="1"$>

【ポイント】
フォーマット:「リッチテキスト」では「&」などが特殊文字コードに変換されます。
フォーマット:「なし」でタグを入力すればオッケー!

ぱんくずリストを表示する

荒木勇次郎/松永英明著「Movable Type WEBデザインの新しいルール」を参考に、ぱんくずリストを表示させました。それぞれのページで以下のように表示されます。

カテゴリ別ブログ記事リスト:
ホーム>トップカテゴリ>サブカテゴリ

月別ブログ記事リスト:
ホーム>○○○○年○月

ブログ記事:
ホーム>トップカテゴリ>サブカテゴリ>エントリータイトル

以上です。
ところで、サブカテゴリを設置している場合に

ブログ記事:
ホーム>トップカテゴリ>エントリータイトル(←サブカテゴリが表示されない)

でお困りの方はいませんか?この場合は以下で解決。
ブログ記事を投稿する際、右のカテゴリリストからカテゴリを選択しますよね。その時に・・・

(1)トップカテゴリとサブカテゴリの両方をチェック
(2)カテゴリリスト下に以下が表示される

★選択したトップカテゴリ
選択したトップカテゴリ>>選択したサブカテゴリ

(3)「選択したトップカテゴリ>>選択したサブカテゴリ」部分をクリック
(※カーソルを合わせると「メインカテゴリにする」と吹き出しが出てきます)

これでオッケー!

PHPモジュール化!ブログ記事部分を外部ファイルにする

PHP化のメリット「再構築時間の短縮」を享受すべく、ブログ記事部分を外部PHPファイルにして、それを読み込ませる設定を行いました。

参考サイト:
Movable Type 備忘録「MovableTypeをPHP化する
の「共通な部分を外部ファイルにする」部分

以下、MovableType4.21版の手順です。(4.25版でも問題なく完了しました)

(1)管理画面「デザイン」→「テンプレート」
アーカイブテンプレート項目の、「アーカイブテンプレートを作成: 」で「ブログ記事」をクリック。

(2)テンプレートを作成
一番上の入力欄に「エントリー・本文」と入力。
「挿入する」タブから「本文(entrybody)」を選択。すると「<$mt:EntryBody$> 」が自動入力される。そうしたら「保存」ボタンをクリック。

(3)テンプレートの設定
「テンプレートの設定」タブをクリック。アーカイブマッピング「新しいアーカイブマッピングを作成」をクリック。
さらに、種類「ブログ記事」タブ右の「追加」ボタンをクリック。
「パス」タブから「カスタム」を選択し、「%y/%m/entry%E-body%x」と入力し、保存。

ここで全体を再構築。

(4)<$mt:EntryBody$>コード差し替え
全テンプレート中の<$mt:EntryBody$>を、以下のコードに差し替え。
※実際は改行せず一続きで。

<?php readfile('<$MTBlogArchiveURL$><$MTEntryDate format="%Y/%m"$>/entry<$MTEntryID$>-body.php');?>

差し替えたら、保存して再び全体を再構築。

以上です。

ポイントは(4)。差し替えのコード冒頭を、

<?php include・・・
では上手く行かなかったので、

<?php readfile・・・
としました。

どちらにするかは、以下のサイトに詳しく解説されています。

小粋空間「Movable Type の PHP モジュール化の仕組みについて(その1〜その4)

アーカイブマッピングで出力ファイル名をカスタマイズ

ブログ記事を新規作成すると、ブログタイトルをベースにした代替ファイル名が自動的につけられてしまいます。そこで、ブログ記事のファイル名を投稿日時に統一しました。
以下、手順です。

(1)管理画面「デザイン」→「テンプレート」
アーカイブテンプレートの「ブログ記事」をクリックします。「テンプレートの設定」タブを開き、アーカイブマッピングのパスを「カスタム」にします。そこに、

%y/%m/%d-%h%n%s%x

と入力。

そうすると、ブログ記事のURLが
http://www.15ya.net/15ya/2009/05/18-120453.php
のように投稿日時に!

参照サイト:
Movable Type 備忘録「MovableTypeをPHP化する

こちらのサイトで、上記に加えPHP化のメリットとデメリット、PHP化を享受するための具体的な作業が解説されています。

MovableTypeをPHP化する

リニューアルサイトでは、ファイルをhtml ではなくphpで運営するぞ!
というわけで、MovableTypeをPHP化しました。
以下、手順です。

(1)管理画面「設定」→「公開」
アーカイブオプション項目のファイルの拡張子を「php」に変更

(2)管理画面「デザイン」→「テンプレート」
「アーカイブインデックス」「メインページ」ともに、「テンプレートの設定」タブを開き、出力ファイル名の拡張子を「php」に変更

(3)サーバの設定変更(さくらインターネットの場合)
参考サイト:Computer「MovableTypeのPHP化
phpファイルが格納されるフォルダのパーミッションを「755」に変更し、mt-config.cgiに以下の記述を追加。

#======== PHP =======================
HTMLUmask 0022
DirUmask 0022
HTMLPerms 0777


この時点で、ファイルはすべて「php」にて出力されます。

最初の再構築の前にやること

「新規ブログ」を立ち上げたら、最初の再構築の前にやること。

(1)MovableTypeのPHP化(PHPで運営する場合)

一度「html」で運営を開始したあとにPHP化を行うと、

  • 「いらないhtmlを削除する」
  • 「.html→.phpリンク張替え」
等面倒な作業が発生します。
ブログ記事を投稿する前に、「PHP化」を済ませておきましょう。

(2)アーカイブマッピングで出力ファイル名をカスタマイズ

ブログ記事を新規作成すると、ブログタイトルをベースにした代替ファイル名が自動的につけられてしまいます。そこで、ブログ記事のファイル名を投稿日時等に統一しましょう。

PageTop