全ページ共通のメニューを表示させる
デフォルトのMTでは、「最新のブログ記事」表示内容がテンプレートごとに異なります。MTタグ記述内容は同じなのですが・・・テンプレートの仕様のようです。
全ページで共通のメニューを表示させたい場合は、以下の方法で。
ブログをPHP化していることが前提となりますよ!
全ページ共通で表示させたい項目をテンプレートにて作成し、そのファイルを<php readfile(またはinclude)>で読み込ませます。
PHP化していることが前提となります。
(1)
インデックステンプレートを作成
タイトルを「メニュー:最近のブログ記事(任意)」とし、
デフォルトのブログのウィジェット「最近のブログ記事」の
<mt:Entries>・・・</mt:entries>までをコピペ。
ファイル名を「blogtitle.inc(任意)」として保存。
(2)
メニューで表示させたい部分に、
<?php readfile('<$MTBlogURL$>blogtitle.inc'); ?>
と記述。(上記コピペがうまく行かない場合は直接入力してください。)
- 「メインページ」「ブログ記事」では単純に時系列で表示される
- 「カテゴリ別ブログ記事リスト」では、そのカテゴリ内の記事が時系列で表示される
全ページで共通のメニューを表示させたい場合は、以下の方法で。
ブログを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"$>
【ポイント】
フォーマット:「リッチテキスト」では「&」などが特殊文字コードに変換されます。
フォーマット:「なし」でタグを入力すればオッケー!
でも大丈夫!モディファイア「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)「選択したトップカテゴリ>>選択したサブカテゴリ」部分をクリック
(※カーソルを合わせると「メインカテゴリにする」と吹き出しが出てきます)
これでオッケー!
カテゴリ別ブログ記事リスト:
ホーム>トップカテゴリ>サブカテゴリ
月別ブログ記事リスト:
ホーム>○○○○年○月
ブログ記事:
ホーム>トップカテゴリ>サブカテゴリ>エントリータイトル
以上です。
ところで、サブカテゴリを設置している場合に
ブログ記事:
ホーム>トップカテゴリ>エントリータイトル(←サブカテゴリが表示されない)
でお困りの方はいませんか?この場合は以下で解決。
ブログ記事を投稿する際、右のカテゴリリストからカテゴリを選択しますよね。その時に・・・
(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)」
参考サイト:
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)管理画面「デザイン」→「テンプレート」
アーカイブテンプレートの「ブログ記事」をクリックします。「テンプレートの設定」タブを開き、アーカイブマッピングのパスを「カスタム」にします。そこに、
参照サイト:
Movable Type 備忘録「MovableTypeをPHP化する」
こちらのサイトで、上記に加えPHP化のメリットとデメリット、PHP化を享受するための具体的な作業が解説されています。
以下、手順です。
(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に以下の記述を追加。
というわけで、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)アーカイブマッピングで出力ファイル名をカスタマイズ
ブログ記事を新規作成すると、ブログタイトルをベースにした代替ファイル名が自動的につけられてしまいます。そこで、ブログ記事のファイル名を投稿日時等に統一しましょう。
