「MovableType」タグアーカイブ

[MovableType] 自動でサイトマップページを生成する

テンプレートタグを使って自動で最新の状態に保たれるサイトマップページを作る方法。
検索エンジン用のsitemap.xmlではない。

<MTTopLevelFolders sort_method="SortCatFld::Sort">
<MTSubCatIsFirst>
<ul>
</MTSubCatIsFirst>
<MTIfNonZero tag="MTFolderCount">
<li><$MTFolderLabel$>
<ul>
<MTPages sort_by="authored_on" sort_order="ascend">
<li><a href="<$MTPagePermalink$>"><$MTPageTitle$></a></li>
</MTPages>
</ul>
</MTIfNonZero>
<MTSubFolderRecurse>
</li>
<MTSubCatIsLast>
</ul>
</MTSubCatIsLast>
</MTTopLevelFolders>

凝ったデザインにしたい場合は、フォルダごとにループを回すしかなさそう。汎用性は減りますが。

上記ソースはどこかのブログを参考にさせていただいたはずなのですが、失念しました、失礼。
再発見したらリンクします。

[MovableType] 記事を公開日順に一覧で表示する

WordPressばっかり触っているとMovableTypeのことをすっかり忘れてしまう。
MTを更新システムとして使用したサイトを制作する場合、ナビゲーションなどでWebページの順序を任意の順序で表示できなければならない。GUIでそれを実現するプラグインもありそうだが、てっとり早くページの公開日で並べるというのがお手軽な解決法としておすすめです。

が、このやり方を忘れていました。3.3の頃はMT派だったのですが、WordPressに鞍替えしてからはそんなことも忘れていたという…でも、テンプレートタグリファレンスに書いてないので知らない人も多いんじゃないかと思ってメモ。

<mt:Pages sort_by=”authored_on” sort_order=”ascend”>

</mt:Pages>

created_onだと、ページが作成された日なので後で変更できません。

XAMPP環境にMovableTypeをインストールする

仕事ではMovableTypeを使うこともあります。普通にCMSとして納品することもありますが、MTも動かないようなしょぼいサーバにページ数の多いサイトを置かなきゃいけないとき、ローカル環境にMovableTypeを設置してHTMLを吐き出させたら、それをアップロードするだけで済むので楽です。

というわけでWindows環境にWordPressの開発環境として設置してあるXAMPPにMTをインストールしてみました。いくつかつまずいた点がありましたのでメモ。XAMPPはインストール済みとして書きますので、そちらのインストール方法は他サイト参照のこと。

1.Perlのインストール

MTはPerlで動きますので、Perlをインストールしないことには始まらない。XAMPPにはPerlのアドオンも用意されているのですが、データベース用のモジュールが無いようです。お手軽なのはActivePerlというものみたい。XPですがダウンロードしてインストーラを起動で、すんなり導入完了。
http://www.activestate.com/activeperl/

2.DBD::mysqlのインストール

Perlのインストールは完了しましたが、まだXAMPP標準のMySQLが使えません。インストーラの指示どおりにActivePerlをインストールしていれば C:\Perl\bin\ppm.bat をダブルクリックで「Perl Package Manager」が起動します。このツールでDBD::mysqlをインストールするのですが、ややこしいことにそのままではインストールできない模様。メニューのEdit>Repositoriesタブを開いて、Location:に http://cpan.uwinnipeg.ca/PPMPackages/10xx/ と入力し、Addボタンを押します(Nameは任意)。

これで「View All Packages」を押したときにDBD-mysqlが出てきますので、選択して「Mark for Install」ボタンをクリック。

3.ジャンクションの作成

ここまでしてまだMTは動きません。原因は、cgiの先頭に書いてあるPerlのディレクトリ(/usr/bin/perl)と、実際にWindowsにインストールしたディレクトリ(/perl/bin/perl)が異なるから。UNIXのようにシンボリックリンクのように使えるソフトがWindowsにもありましたので、インストールしましょう。

リンク作成シェル拡張for Windows 2000/XP(WindowsNT/2000/XP / ユーティリティ)

インストールが完了したら、Cドライブを開いた状態でPerlフォルダを右クリックでドラッグ、Cドライブのウィンドウ内で離します。表示されるメニュー内の「リンクを作る」という項目を選択。作成したリンクの名称をusrに変更します。これで C:\Perl と C:\usr がリンクされましたので、MTが動くようになりました!

4.MovableTypeのインストール

あとはXAMPPのphpMyAdminでMT用のデータベースを作成後、MTをインストールするだけ!長かった!

以上、参考サイトはこちら。
XamppでMTOSをローカルで動かす XamppアドオンPerl 5を入れるの忘れてた
XAMPPとperlパスを調整してCGI(MT)を動かす+Windows ジャンクション

会社はWinだけど自分のマシンはMacなんだよな。そのうちXAMPP for MacOS Xでも試してみようと思います。