HOME>WEBプログラム覚書>MovableTypeをCakePHPのViewとして使う

MovableTypeをCakePHPのViewとして使う

ためのMovableTypeテーマを書いてみた。 MovableTypeの検索のシステムテンプレートをPHPに置き換えるの発展型。

動作サンプルとダウンロードはこちら 利用しているアプリケーションはCakePHP1.3.4、Movable Type Pro version 5.04です。

一応ここではコントローラー名を「nocckels」としてありますので、適宜変更してください

CakePHPの設定

APP/config/routes.php

CakePHPを設置済みならAPP/config/routes.phpにダウンロードしたroutes.phpの内容を追記。

コントローラー、レイアウトの設置

CakePHPの標準の位置に配置。

ビューディレクトリの作成

APP/views/に「nocckels」ディレクトリを作成。MovableTypeはここにファイルを出力するのでパーミッションを707とか777にしておく。

MovableTypeの設定

インストール

アプリケーションのwebroot(ドキュメントルート)に普通にインストール。

設定 > 全般

「公開パス」の「ブログURL」をhttp://www.wwebdeww.com/nocckels/に。 「ブログパス」を「/path/to/cakephp/app/views/nocckels/」にします。

設定 > アーカイブ設定

「ファイルの拡張子」を「ctp」に変更します。

テーマの変更

テーマをアップロードして変更してください。再構築して完了。

問題点

タイトル、キーワード、カテゴリ名などにシングルクォーテーションがあるとエラーになる。

例えばタイトルの場合、エントリーのテンプレートでこうなってる。

entry.mtml

  1. <?php
  2. $this->set('page_title', '<$mt:EntryTitle encode_html="1"$>');
  3. ?>

下記のようにヒアドキュメントにすれば回避できる。

entry.mtml

  1. <?php
  2. $_page_title =<<< PAGE_TITLE
  3. <$mt:EntryTitle encode_html="1"$>
  4. PAGE_TITLE;
  5.  
  6. $this->set('page_title', $_page_title);
  7. ?>

最初からそーしてろよって話ですが・・・

一部ハードコーディング

コメントのPOST先ハードコーディングしてます。ごめんなさい。ごめんなさい。

最低限の機能しかない

基本的に自分が使ってる機能しかつくってません。コメントとか検索のテンプレート適当です。 ウィジェットとか訳わかんなかったのでスルーです。

テンプレートが汚い

.mtmlはMTタグとPHPコードが入り混じっていて汚い。ビューで変数設定とかしてるので、フレームワークなのに見通しがよくないw

とまぁMovableType、perlはもちろんCakePHPも精通してるわけではないので 問題点も多く、そのあたりがわかる人ならもっとうまくやってくれると思います。

preg_replaceで置換してるリンク部分とか、MTのプラグイン書ければなぁと思いました。 perlを勉強するきっかけになりそうです。

投稿日 2011年2月17日 02:04
カテゴリ PHP
タグ CakePHP | MovableType
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1217

コメント

コメントする
Name
Email Address
URL