Movable Type でカスタムフィールドの画像を表示する方法

2011年4月27日 14:17 Movable Type でカスタムフィールドの画像を表示する方法

Movable Type のカスタムフィールド機能で、フィールドの種類を「画像」にした場合、テンプレート内で、自分でカスタムフィールドに設定したテンプレートタグを書いても、そのまま画像は表示されず、その画像へのリンクが出力されてしまいます。

画像へのリンクではなく、直接画像を表示したい場合は、以下のように指定します。
※以下、カスタムフィールドに指定したテンプレートタグが <MTEntryImage> という仮定での記述です。

<MTEntryImageAsset>
<$MTAssetThumbnailLink$>
</MTEntryImageAsset>

上記のように、「設定したテンプレートタグ+Asset」というタグ内で「MTAssetThumbnailLink」を使用することで、カスタムフィールド画像のサムネイルが出力され、さらにアップロードした画像そのものにリンクします。

サムネイル画像のサイズを変更したい場合は、以下のモディファイアを使用します。

<!-- サムネイル画像の最大横幅を100pxに指定 -->
<$MTAssetThumbnailLink width="100"$>

<!-- サムネイル画像の最大縦幅を100pxに指定 -->
<$MTAssetThumbnailLink height="100"$>

<!-- サムネイル画像を実際の画像の50%の大きさに指定 -->
<$MTAssetThumbnailLink scale="50"$>

なお、前述の通り MTAssetThumbnailLink では、「サムネイル画像の出力」と「元画像へのリンク」の二つを自動的にやってしまいます。

画像の出力だけがしたい(元画像へのリンクは要らない)という場合は、MTAssetThumbnailURL というテンプレートタグを使用できます。
こちらは、サムネイル画像のURLのみを出力するためのテンプレートタグです。

<MTEntryImageAsset>
<img src="<$MTAssetThumbnailURL$>" />
</MTEntryImageAsset>

このように書けば、サムネイル画像だけを出力できます。

ちなみに、MTAssetThumbnailURL タグにも、width、height、scale のモディファイアが使用可能なので、サムネイル画像のサイズ調整も行なえます。

関連するブログ記事
スポンサード リンク
カテゴリー
Movable Type 4 | Movable Type 5
タグ
Movable Type | MTAssetThumbnailLink | MTAssetThumbnailURL | カスタムフィールド

コメント(27)

 

MT4 で大量の改行が入ってしまうのを除去するための ApplyModifierプラグイン

Movable Type のテンプレートの最初の方で、 MTSetVar タグとか MTIf タグなんかを駆使して色々と条件によって表示を変えたりとか、ループ処理なんかをしたりとかすることはしばしばありますが、あまりやり過ぎると、結果的に出力される html が、最初の数十行(酷いときはさらにもっと)、空白行の改行のみ、のような感じになってしまったりします。

まあ、それでも基本的には見た目に影響はないのですが、あまり改行が多くなると、 meta要素等による文字コード指定がソース上で下のほうに行き過ぎてしまって、表示するブラウザによっては文字コードを判別できずに文字化けしてしまう、というようなケースもあり得ます。

そういう事態を避けるために、「余計なスペースや改行を除去する」だけのMTプラグインというものが存在します。

このプラグインを導入して、余計な空白や改行を除去したい部分を、

<MTApplyModifier ltrim="1" strip_linefeeds="1">

<!-- ここに余計な空白や改行を除去したい部分が入る -->

</MTApplyModifier>

というタグで囲めばOKです。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
ApplyModifier | Movable Type | MTIf | MTSetVar | xhtml

コメント(11)

 

MT4 でコメント欄に独自のフィールドを追加する Comment Titles プラグイン

Movable Type 4 のコメント欄は、デフォルトでは名前・メールアドレス・URL・コメント本文という四つのフィールドしかありませんが、ここに独自のフィールド(タイトルとか)を追加することができる Comment Titles プラグインの紹介です。

Comment Titles プラグインの入手・インストール

Add Comment Titles to MT4 Blogs (MT Hacks)にて、Comment Titles プラグインを入手できます。

インストールすると、データベースにフィールドか追加され、利用可能になります。

コメント投稿フォームの修正

インストールが終わったら、ブログ記事アーカイブのコメント投稿フォームに、新たな入力欄を追加します。

以下のような感じで、テキスト入力欄を追加します。

<input type="text" name="title" value="" />

ちなみに、name属性が title であれば、テキストフィールドでなくてもラジオボタンやチェックボックス等でもOKです。

コメント表示部分の修正

ブログ記事アーカイブ等の MTComments タグ内の投稿されたコメントを表示する箇所で、追加したフィールドを表示するようにします。

<MTIfNonEmpty tag="MTCommentTitle"><$MTCommentTitle$></MTIfNonEmpty>

上記のような感じ。

ついでに......複数フィールドを追加したい場合

これは perl が読める/書ける人じゃないとちょっとややこしいかもしれませんが、Comment Titles プラグインで追加できるフィールドは一つだけなので、複数フィールドを追加したい場合はプラグインのソースをコピーして、別名の同じプラグインを作る必要があります。

CommentTitles.pl の中身の、「titles」と「title」というワードを、一括で「titles2」「title2」などに置換すれば、とりあえずは動きます。

フォームの name属性も「title2」に、MTタグも「MTCommentTitle2」にすることで二つ目のフィールドを利用できます。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | MTCommentTitle | perl | xhtml

コメント(30)

 

mt-rebuild.pl を使って、Movable Type を定期的にバックグラウンドで再構築する方法

以前紹介したRebuildQueueプラグインは、自分で手動で再構築のトリガーを起動すると、その後はバックグラウンドで再構築を行ってくれる、という仕組みでした。

今回紹介する mt-rebuild.pl は、それとはまたちょっと違って、cron 等で定期的に起動することで、そのままバックグラウンドで再構築処理を行ってくれるスクリプトです。

mt-rebuild.pl の設置

mt-rebuild.pl の配布元はこちら

上記ページから mt-rebuild.pl をダウンロードして(TypeKeyでログインする必要があります)ください。

ダウンロードした mt-rebuild.pl を、Movable Type をインストールしているディレクトリにアップロードし、パーミッションを変更して実行権限を与えます(非技術者のためのパーミッションについての解説参照)。

cron の設定

mt-rebuild.pl を設置したら、cron で定期的に mt-rebuild.pl を実行するよう設定します。
crontabの設定方法参照。

例えば、毎日午前4時に全再構築を行うなら、以下のような感じ。

0 4 * * * /usr/local/bin/perl /path/to/mt/mt-rebuild.pl -mode="all" blog_id=1

「/path/to/mt/」の部分はもちろんMTをインストールしているディレクトリへのパスを指定して下さい。

mt-rebuild.pl のオプションについて

mt-rebuild.pl は、オプションを指定して実行することで、様々な条件で特定のテンプレートのみ再構築できます。

mode オプション

mode オプションで、再構築のモードを指定できます。

-mode="all"
全再構築。
-mode="archive"
アーカイブのみ再構築。後述の archive_type オプションと併用
-mode="entry"
ブログ記事のみ再構築。後述の entry_id オプションと併用
-mode="index"
インデックステンプレートのみ再構築。後述の template オプションと併用

blog_id オプション

blog_id オプションで、再構築を行うブログを指定して再構築できます。

-blog_id=1
ブログID1のブログのみ再構築。

archive_type オプション

archive_type オプションで、再構築を行うアーカイブの種類を指定できます。

-archive_type="Individual"
ブログ記事アーカイブのみ再構築。
-archive_type="Daily"
日別アーカイブのみ再構築。
-archive_type="Weekly"
週別アーカイブのみ再構築。
-archive_type="Monthly"
月別アーカイブのみ再構築。
-archive_type="Category"
カテゴリアーカイブのみ再構築。

entry_id オプション

entry_id オプションで、再構築を行うブログ記事を指定することができます。

-entry_id=1
エントリID1のブログ記事のみ再構築。

template オプション

template オプションで、指定したテンプレートのみを再構築することができます。
自分でつけてテンプレート名もそのまま指定することができます。

-template="メインページ"
「メインページ」というテンプレートのみ再構築。
-template="携帯用メインページ"
「携帯用メインページ」というテンプレートのみ再構築。

他にも、mt-rebuild.pl のソースを見れば、いくつかオプションがあるのがわかるかと思いますので、随時調べて使ってみれば良いかと。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
crontab | Movable Type | perl | UNIX | コマンドライン | シェル

コメント(159)

 

MTRebuildQueueプラグインの再構築キューを確認する

以前、MT4で再構築処理をバックグラウンドで行える MTRebuildQueueプラグインという記事を書きました。

このプラグインを使うと、Movable Typeの再構築をバックグラウンドで処理してくれるので非常に重宝するのですが、再構築処理を走らせた後、「今どれくらい再構築が進んでいるのか」が目に見えてわからないので、ちょっと気になったりします。

一応、RebuildQueueプラグインには、現在の再構築キューの状況を確認できる画面が用意されているので、実は http://○○/mt.cgi?__mode=rq_list というURI にアクセスすれば、残りの再構築ファイル一覧が確認できます。

ところがこの画面のテンプレートが、MT4に対応できていないみたいで、レイアウトが崩れてしまっていて、ページナビゲーション等も全然効きません。

というわけで、その画面をちゃんとMTの管理画面として見れる形に修正する方法を解説します。

修正するファイル

まず、どのファイルを修正すれば良いのかなんですが、「tmpl」ディレクトリに入っている、「queue_list.tmpl」というファイルになります。

queue_list.tmpl の修正箇所

queue_list.tmpl の具体的な修正箇所です。

一番最初に、以下の一行を挿入します。

<$mt:setvar name="page_title" value="<__trans phrase="Rebuild Queues">"$>

続いて、二行目(上記一行を追加する前の一行目)を以下のように修正します。

<TMPL_INCLUDE NAME="header.tmpl">
 ↓
<TMPL_INCLUDE NAME="include/header.tmpl">

次は170行目を以下のように修正。

<TMPL_INCLUDE NAME=pager.tmpl>
 ↓
<TMPL_INCLUDE NAME=include/pagination.tmpl>

最後に176行目を以下のように修正。

<TMPL_INCLUDE NAME="footer.tmpl">
 ↓
<TMPL_INCLUDE NAME="include/footer.tmpl">

以上で、とりあえず画面をまともに見れるレベルにはなります。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | RebuildQueue | xhtml

コメント(10)

 

MT4 で各ブログ記事が属するカテゴリの情報が入っているテーブルは?

Movable Type のデータベースを直接いじる機会ってそんなにないと思うんですが、プラグインを作るときとか、サーバー移転とかでちょっとデータをいじったりする時とかの参考に。

各ブログ記事がどのカテゴリに属しているのか、というデータが、データベースのどのテーブルにどういう形で入っているのか、という話です。

ブログ記事関連のデータなので、テーブル「mt_entry」に入ってるんじゃないかな、ととりあえず考えると思うんですが、違います。
実際「mt_entry」テーブルには「entry_category_id」というフィールドがあるんですが、これは多分、古いバージョンで一ブログ記事に対して一カテゴリしか設定できなかった頃に使っていたフィールドでしょう。今では使われていません。

じゃあどのテーブルなんだって話なんですけども、ずばり「mt_placement」というテーブルがそれです。

このテーブルは、以下のような構造になっています。

placement_id
各行を識別するID
placement_blog_id
ブログ記事の属する blog_id
placement_category_id
ブログ記事の属する category_id
placement_entry_id
ブログ記事の entry_id
placement_is_primary
メインカテゴリとして指定されているかどうか。メインカテゴリなら 1 が。メインでなければ 0 が入ります。

こういうデータがずらっと入ってるわけですね。

ブログ記事に対して複数のカテゴリが指定されている場合は、もちろん複数行にわたって同一の placement_entry_id に対して異なる placement_category_id のデータが入っています。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | MySQL | PostgreSQL | RDBMS | SQLite

コメント(15)

 

MT4の非公開コメントを一括で公開するSQL文

普通にMT使ってると多分あんまり使うことはないかと思いますが、ちょっと仕事でMT4の非公開コメントを一括で公開状態に変更するように処理が必要になったことがあったので、メモがてら。

まず、MTに投稿されたコメントは、mt_comment というテーブルに格納されます。

このテーブルの中のcomment_visibleというフィールドが、コメントの公開/非公開に関するデータで、値が「0」だと非公開、「1」だと公開、という具合になっています。

なので、

update mt_comment set comment_visible = 1 where comment_visible = 0;

というSQL文で、一括公開できます。

ただし、それだけだとSPAM判定されたコメントまで公開状態になってしまうので、こう一つ条件を付け加えましょう。

comment_junk_statusというフィールドに、MTのSPAMフィルタの判定結果が格納されています。
どうも値が「0」だとSPAM判定されたコメントになるようなので、

update mt_comment set comment_visible = 1 where comment_visible = 0 
and comment_junk_status >= 1;

というSQL文にすれば、SPAMフィルタに引っかからなかったコメントのみを、公開状態にできます。

SQLの実行が済んだら、再構築をすればコメントが反映されているはずです。

関連するブログ記事
カテゴリー
Movable Type 4 | MySQL
タグ
Movable Type | MySQL | PostgreSQL | RDBMS | SQL | SQLite | コマンドライン

コメント(17)

 

MT4で再構築処理をバックグラウンドで行える MTRebuildQueueプラグイン

Movable Type を利用して大量のページが存在するサイトを運営していると、再構築に非常に時間がかかってストレスが溜まりますよね。

そういう時の解決方法の一つとして「再構築処理をバックグラウンドで行う」という選択肢があります。

それを簡単に行なえるのが、MTRebuildQueue(MT4対応版)です。

上記サイトからプラグインをダウンロードしたら、MTのブログ管理画面からプラグインの項目を開き、以下のように RebuildQueue の設定を行ないます。

01.JPG

これでMT側の設定は完了。
続いて、サーバー側でこのRebuildQueueプラグインを、定期的にバックグラウンドで実行する設定を行なう必要があります。

crontabの設定方法などを参考に、「/mt/plugins/RebuildQueue/RebuildQueue.pl」を実行するよう指定しましょう。

以下は、10分毎にRebuildQueueを実行するようにする場合の例です。

*/10 * * * * /usr/local/bin/perl /home/tatsuya/mt//plugins/RebuildQueue/RebuildQueue.pl 1> /dev/null

これで設定完了です。

以降、MTで再構築ボタンを押すと、画面上では一瞬で再構築が終わります。
が、実際にはまだ再構築は行われておらず、再構築のキューが溜まっている状態になります。

そして、cronで設定した間隔で、溜まったキューを順番に処理し、再構築がバックグラウンドで行われていく、という仕組みになります。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
crontab | Movable Type | RebuildQueue | UNIX | コマンドライン | シェル

コメント(8)

 

Movable Type に Twitter の「つぶやく」リンクを設置する方法

Movable Type で各ブログ記事にTwitterへの「つぶやく」リンクを設置する方法の解説です。

Twitter への「つぶやく」リンクのリンク先は、

http://twitter.com/home?status=ここにツイート本文

と指定すればOKなので、ここに記事タイトルとパーマリンクを入れれば良いわけです。

<a href="http://twitter.com/home?status=<$MTEntryTitle encode_url="1"$>%20<$MTEntryPermalink encode_url="1"$>" target="_blank">Twitterでつぶやく</a>

MTEntryTitle と MTEntryPermalink の各タグに「encode_url="1"」をセットしてるのがポイントと言えばポイントでしょうか。
これを指定しておけば、MT側でテキストを URLエンコードしてくれます。

リンクをテキストだけじゃなくて Twitter のアイコンも表示したい場合は、こちらに Twitter 公式のアイコン集があるので、このあたりを利用すると良いかもしれません。

関連するブログ記事
カテゴリー
Movable Type 4 | Twitter | xhtml/html
タグ
Movable Type | MTEntryPermalink | MTEntryTitle | Twitter | xhtml

コメント(14)

 

MT4 で MT-I18N プラグインを使って特定のテンプレートだけ文字コードを変換する

Movable Type で作成するサイトっていうのは、基本的には文字コードは UTF-8 になりますよね(もちろん mt-config.cgi を触って、設定を変えることはできますが)。

でも、ケータイ対応のサイトを作ろうとすると、文字コードは Shift_JIS にする必要があるので、ちょっと困ったことになるわけです。

そういう時に、MT-I18N プラグインを使って、ケータイ向けのテンプレートだけ Shift_JIS で出力するようにすれば、あっさり解決できます。

使い方は非常に簡単で、このプラグインを入れた後、MTEncodeText というMTタグで囲んだ部分が、指定した文字コードで出力されるので、ケータイ用のテンプレートの最初と最後に、

<MTEncodeText from="utf-8" to="Shift_JIS">

<!-- ここにテンプレートの内容 -->

</MTEncodeText>

という感じで記述すればOKです。

ちなみに、from属性と to属性には、euc-jp 等の文字コードも指定できますので、UTF-8 → Shift_JIS の変換以外の用途にももちろん使えます。

関連するブログ記事
カテゴリー
Movable Type 4 | モバイル(携帯電話・ケータイ)Web
タグ
Movable Type | MTEncodeText | モバイル | 文字コード

コメント(8)

 

MT4 のバックアップ・復元についてのまとめ

バックアップについて

MT4 の管理画面から行なえるバックアップ処理には、

  • 「ツール」→「エクスポート」から行なえるブログのエクスポート機能
  • 「ツール」→「バックアップ」から行なえるバックアップの作成機能

の二種類があります。

このうち、前者の「エクスポート」機能は、同様に「ツール」→「インポート」でバックアップデータを復元することができるのですが、こちらの機能はブログ記事関連のデータしかバックアップが取れず、テンプレート関連はもちろんのこと、ウェブページすらエクスポートできないので、ほとんど使い物になりません。

一方、後者の「バックアップの作成」機能は、テンプレート関連も含めほぼ全てのデータをバックアップできるので、サーバー移転等でデータを一旦バックアップ取らないといけない場合は、こちらの機能を使うことになります。

バックアップの取り方は、単に「ツール」→「バックアップ」の画面で「バックアップを作成」ボタンをクリックするだけですが、Archive::Zip モジュールが入っているサーバーであれば、バックアップデータを .zip ファイルに圧縮してダウンロードできるので、そちらを選択することをオススメします。

01.JPG

特に「アイテム」に沢山のファイルをアップしているブログ等では、圧縮ファイルを作成しないと、バックアップデータとしてそれらの各種データをひとつずつクリックしてダウンロードする必要が出てきて非常に面倒です。

圧縮しなかった場合、下の画像のようなリンクが一覧で出てきて、それを一つずつダウンロードする必要があるわけです。

02.JPG

一方、Zip圧縮を選択すれば、普通に一括でダウンロードできます。

03.JPG

復元について

さて、バックアップを取ったデータを、MT4 に復元する方法です。

まず、復元先の MT4 のインストールディレクトリに「import」というディレクトリを作成します。
そして、そのディレクトリ内に、先ほどのバックアップデータを全てアップロードして下さい。
Zip圧縮した場合は、解答した中身のファイルをアップロードすること。
圧縮ファイルのままアップロードしても、復元はできません。

アップロードが完了したら、MT4 のシステムメニューから「ツール」→「復元」を開きます。

「バックアップファイル」には何も指定する必要はありません。そのまま「復元」ボタンをクリックしましょう。

04.JPG

しばらく待てば、データの復元が完了し、ほぼ全てのデータが移行できます。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | バックアップ

コメント(12)

 

MT4 で複数ファイル(アイテム)を一括アップロードできる Asset Handler プラグイン

MT4 のファイルアップロード機能は、一回につき1ファイルしかアップロードできないので、地味に非常に面倒ですよね。

というわけで今回は、あらかじめ FTP でアップロードしておいた複数のファイルを一括で MT に「アイテム」として登録できるプラグイン Asset Handler プラグインの紹介です。

このプラグインを入れると、「一覧」→「アイテム」の画面上部に「Transport Assets」というメニューが追加されます。

この「Transport Assets」をクリックすると、以下のようなフォームが表示されます。

01.JPG

このフォームに、予め FTP でアップしておいた複数ファイルを格納しているディレクトリへのパスと、URL を入力します。

すると「入力されたパスはディレクトリだけどいいの?」的なことを聞かれるので、

「Yes, transport all the files in (指定したパス)」というのを選択すれば、そのディレクトリに入っている全てのファイルが、MT内で「アイテム」として扱えるようになるわけです。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | アップロード | プラグイン

コメント(9)

 

MT4 でブログ内検索をカテゴリ毎に行なう方法

相変わらず Movable Type 5 がリリースされても気にせず MT4 ネタですよっと。

Movable Type には mt-search.cgi というブログ内検索用の CGI が用意されていますが、この検索フォームを、カテゴリ別に検索できるよう設定する方法です。

基本的には、mt-search.cgi に、category="hogehoge" という形でカテゴリ名を渡せば、検索結果はそのカテゴリ内のブログ記事に限定されます。

なので、例えばプルダウンのリストボックスでカテゴリを選択できるブログ内検索フォームを作りたければ、以下のようなテンプレートになります。

<form method="get" action="<$MTCGIPath$><$MTSearchScript$>">
  <input type="hidden" name="IncludeBlogs"
  value="<$MTBlogID$>" />
  <select name="category">
    <option value=""カテゴリ</option>
    <MTTopLevelCategories>
    <option value="<$MTCategoryLabel$>"><$MTCategoryLabel$></option>
    </MTTopLevelCategories>
  </select><br />
  <input type="text" name="search"
  value="<$MTSearchString encode_html="1"$>" size="20" maxlength="128" />
  <input type="submit" value="ブログ内検索" />
</form>

また、複数カテゴリを条件に含む場合は、

<input type="hidden" name="category"
value="'カテゴリ1' OR 'カテゴリ2'" />

のように「OR」で区切ると良いです。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
form要素 | input要素 | Movable Type | option要素 | select要素 | xhtml | 検索

コメント(4)

 

MT4 で MTPaginate プラグインを使って各種アーカイブのページ分割をする

Movable Type 5 がリリースされたというのに、相変わらず MT4 ネタで気にせずいきますよ。ええ。

というわけで、各種ブログ記事アーカイブ(月別一覧やカテゴリー別一覧等)のブログ記事数が多くなりすぎて、ひとつのアーカイブが縦長になりすぎてしまう際の解決方法としての、ページ分割です。
MTPaginate というプラグインを使います。

なお、このプラグインを使用する上で、MTから出力される各種ファイルが PHP で動いている必要があります。
なので、「設定」⇒「公開」の「アーカイブオプション」で「ファイルの拡張子」を「php」等にしておくか(下図参照)、あるいは.htaccess で .html 等の拡張子で PHP を実行させる方法さくらのレンタルサーバーで PHP を .html 等の拡張子で実行させる方法等を参考に、元々設定されている拡張子で PHP が動くようにしておかないといけません。

01.JPG

その上で、以下テンプレート内の MTEntries タグ近辺の部分のサンプルです。

<!-- ページ分割するテンプレート全体のコンテナタグ -->
<MTPaginate>

<!-- 分割されたページのナビゲーション部分 -->
  <MTPaginateIfMultiplePages>
  <div>
    <MTPaginateIfLastPage_>
    <a href="<$MTPaginatePreviousPageLink$>"><<前のページへ</a>
    </MTPaginateIfLastPage_>
    <MTPaginateIfMiddlePage_>
    <a href="<$MTPaginatePreviousPageLink$>"><<前のページへ</a>
    </MTPaginateIfMiddlePage_>
    <$MTPaginateNavigator style="links"$>
    <MTPaginateIfMiddlePage_>
    <a href="<$MTPaginateNextPageLink$>">次のページへ>></a>
    </MTPaginateIfMiddlePage_>
    <MTPaginateIfFirstPage_>
    <a href="<$MTPaginateNextPageLink$>">次のページへ>></a>
    </MTPaginateIfFirstPage_>
  </div>
  </MTPaginateIfMultiplePages>

<!-- ブログ記事何件で分割するかを指定(例では10件) -->
  <MTPaginateContent max_sections="10">
  <MTEntries>
  <!-- ここにブログ記事を表示する色々なタグなど -->
  <$MTPaginateSectionBreak$>
  </MTEntries>
  </MTPaginateContent>

</MTPaginate>

なお、この方法でページ分割しても、ひとつのアーカイブファイル内に格納されるブログ記事数はそのままなので、各ファイルの容量を抑える・一ファイルに対してかかる再構築時の負荷を減らす等の目的での導入は無意味ですので悪しからず。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | MTEntries

コメント(12) | トラックバック(1)

 

MT4 でサイトマップを作る際のテンプレート

頻繁に使うのでメモっときます。
基本的にはMT5でもそのまま使えるでしょう。

<!-- フォルダ&ウェブページ -->
<MTTopLevelFolders>
  <MTSubCatIsFirst>
  <dl>
  </MTSubCatIsFirst>
    <dt><$MTFolderLabel$></dt>
    <dd><$MTFolderDescription$>
    <MTIfNonZero tag="MTFolderCount">
      <ul>
      <MTPages>
        <li><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></li>
      </MTPages>
      </ul>
    </MTIfNonZero>
    <$MTSubFolderRecurse$>
    </dd>
  <MTSubCatIsLast>
  </dl>
  </MTSubCatIsLast>
</MTTopLevelFolders>

<!-- カテゴリ&ブログ記事(エントリ) -->
<MTTopLevelCategories>
  <MTSubCatIsFirst>
  <dl>
  </MTSubCatIsFirst>
  <MTIfNonZero tag="MTCategoryCount">
    <dt><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
  <MTElse>
    <dt><$MTCategoryLabel$>
  </MTIfNonZero>
    </dt>
    <dd><$MTCategoryDescription$>
    <MTIfNonZero tag="MTCategoryCount">
      <ul>
      <MTEntries>
        <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
      </MTEntries>
      </ul>
    </MTIfNonZero>
    <$MTSubCatsRecurse$>
    </dd>
  <MTSubCatIsLast>
  </dl>
  </MTSubCatIsLast>
</MTTopLevelCategories>

<!-- 月別アーカイブ -->
<ul>
  <MTArchiveList archive_type="Monthly">
  <li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
  </MTArchiveList>
</ul>

特に変わったことはしてないですが、強いて言えば、 MTTopLevelFolders 等のフォルダ系のブロックタグの中でも MTSubCatIsFirstMTSubCatIsLast といった一部のカテゴリ系ファンクションタグが使える、という点でしょうか。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | xhtml | サイトマップ

コメント(9)

 

MT4 でカテゴリやフォルダを好きな順番に並べ替えられる Sort Categories And Folders プラグイン

Movable Type4 では、デフォルトではカテゴリやフォルダは、<MTSubCategories>タグや <MTSubFolders>タグで、名前の昇順や降順で自動的にソートされて表示されます。

なので昔はカテゴリ名等に「001ほげほげ」「002ふがふが」などという名前をつけた上で、カテゴリ名の頭の「001」等を削って表示するような手法が主流だった頃もあったのですが、現在では Sort Categories And Folders という、任意の順番に並べ替えできるプラグインがあるので、非常に便利です。

Sort Categories And Folders プラグインを導入すると、カテゴリやフォルダの一覧画面に、「カテゴリの並び替え」「フォルダの並び替え」というメニューが追加されます。

01.JPG

実際の並び替え画面は、以下のような感じ。

02.JPG

この画面で、好きなように表示順を変更できます。

あとは、テンプレートの MTSubCategories ・ MTTopLevelCategories ・ MTSubFolders ・ MTTopLevelFoldersの各タグを使っている箇所に、

<MTSubCategories sort_method="SortCatFld::Sort">

という風に、sort_method="SortCatFld::Sort" という属性をつければOKです。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | MTSubCategories | MTSubFolders | MTTopLevelCategories | MTTopLevelFolders | Sort Categories And Folders

コメント(21)

 

MT4 で TagSupplementals プラグインを利用して関連ブログ記事(エントリー)一覧を表示する方法

もうMT5のリリースも近いのに今更MT4関連の記事ばっかり書いてるのもアレな感じですが、気にせずいきます。

このブログでもやってるような、各ブログ記事の下部に「関連するブログ記事」の一覧を表示する方法の紹介です。

TagSupplementalsという、タグ(テンプレートタグではなくブログ記事やウェブページにつけるタグ)関連の機能拡張プラグインを利用するので、各ブログ記事にそれぞれ任意のタグがつけられている必要があります。

で、TagSupplementals プラグインを入れることで追加されるテンプレートタグ MTRelatedEntries を使うことで、設定されたタグの一致度によるブログ記事一覧が表示されます。
一つの記事に複数のタグを設定しておけば、同じタグが設定されている率が高い記事ほど優先的に表示される一覧が作れるわけです。

関連ブログ記事一覧を表示するテンプレートのサンプルソースは以下のような感じ。

<ul>
<MTRelatedEntries lastn="10">
  <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
  [<$MTEntryDate$>]</li>
</MTRelatedEntries>
</ul>
関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | MTRelatedEntries | TagSupplementals | プラグイン

コメント(9)

 

MT4 のブログ記事(エントリ)やウェブページを複製できる MT Duplicate プラグイン

Movable Type でサイトを作成する際に、カスタムフィールドを大量に使ったりして、ある特定のフォーマットでブログ記事やウェブページを量産する(カタログ的なサイト等)場合、とりあえず一つページを作ったら、それをコピーしてあとは細かい部分を修正すればページの量産が簡単になる、というようなケースがあったりします。

そういう時に非常に便利なのが、MT Duplicate プラグインです。

このプラグインを導入すると、ブログ記事一覧やウェブページ一覧に「複製」というメニューが表示されて、新規作成時に複製元のブログ記事(あるいはウェブページ)の中身が最初からフォームに入力された状態で開くことができます。

01.JPG

また、ブログ記事の編集フォームにも「複製」ボタンが表示されるので、そこから複製することも可能。

02.JPG

「大体同じだけど微妙に内容が違うページ」を沢山作らないといけない時などは、非常に重宝するプラグインです。

関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | プラグイン

コメント(6)

 

MT4 のお勧め WYSIWYG エディタ TinyMCE-MTPlugin

Movable Typeのエントリ編集フォームを WYSIWYG(なんかボタンが沢山あってワープロ感覚でHTMLを編集できるやつ)エディタにするプラグインは、結構色々ありますが、その中で一番便利だなー、と思ったのは、TinyMCE-MTPluginです。

僕自身は WYSIWYG エディタはあんまり使わないんですが、人に勧める時はいつもこれですね。

「本文」「続き」のフィールドだけでなく、「概要」や、自分で追加したカスタムフィールドにも WYSIWYG を適用できるのが非常に便利です。
※ただ、あんまり沢山適用しすぎると、ブログ記事編集画面が激重になってしまうので注意。

インストールや設定の手順は上記リンク先の配布元のToI企画さんに詳しく載ってるので省略。

TinyMCE-MTPlugin を適用すると、エントリー編集フォームが以下のようになります。

TinyMCE-MTPlugin のスクリーンショット
関連するブログ記事
カテゴリー
Movable Type 4
タグ
Movable Type | TinyMCE | WYSIWYG | xhtml | プラグイン

コメント(1)

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

阿部辰也へのお仕事のご依頼・問合せはこちらからどうぞ。

Twitter: @t_abe
読書メーター: ID:Tatsuya

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 5.02

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム