PHPでMovableTypeのデータを扱ってみた その3

その1、その2でPHPで記事内容を取得する方法を掲載してきましたが、実はあれだけではカスタムフィールドのメディアファイルを取得出来ていませんでした。 今回はPHPライブラリを利用してメディアファイルの情報を取得する方法を探した所見つかったのでメモしておきます。 実装方法 MT5の場合 その2の書き方で、メディアファイルのIDを取得します。 // メディアファイルのカスタムフィールド [field_name] を宣言 Entry::install_meta( 'entry', 'field_name', 'vclob' ); // メディアファイルは [vclob] 形式 メディアファイルのIDを取得した後は、詳細情報を取りに行きます。 メディアファイルの詳細は「fetch_...

PHPでMovableTypeのデータを扱ってみた その2

前回の記事で、PHPでMovableTypeの記事を取得する方法を残していましたが、カスタムフィールドの情報の取得方法がちょっと回りくどい内容でした。 もうちょっとAPI内部を調べて見たところ、もう少しスマート?な方法が見つかったので残しておきます。 今回の方法では、データベースのアクセスはfetch_entriesだけになるので、動作的には良くなっているかもしれません。 実装方法 内部を見てみると、どうも事前にどんなカスタムフィールドの情報が欲しいのか渡しておかないと、fetch_entriesでは返してくれないらしく、予め何のカスタムフィールドなのかと、ベースネームと変数型を伝えておく必要があるようです。 また、渡し方もMT5とMT4とバラバラのようなので注意が必要です。 MT5の場合 静的メソッドが用意されているので、そこにカスタムフィールドの情報を渡します。 例えば、ブログ記事に、「hoge」というベースネームのテキスト形式のカスタムフィールドが用意されている場合は下記のように記述します。...

PHPでMovableTypeのデータを扱ってみた

個人的にMovableTypeの様な静的生成が苦手なのですが、ダイナミックパブリッシングもイマイチ上手く扱えないのでどうにかしてPHPで直接取得できないか調べていました。 今まで知らなかったのですが、どうもPHPのライブラリが内包されているようで、それを利用することで割と簡単に実装することが出来たのでメモしておきます。 記事の一覧を取得 MovableTypeのアプリケーションディレクトリ内の「PHP」ディレクトリ内にライブラリが内包されています。 簡単な使い方の例として、“最新10件分の記事を取得”する記述は下記の通り。 Movable Type 5の場合 MT5はPHP5以上を想定されているため、チェーンメソッドが使えたり、インスタンスメソッドが用意されています。 // MTのシステムディレクトリを「path/to/mt」とする $mt_dir = 'path/...

MovableTypeのサムネイル画像が上手く生成出来ない

ある案件でMovableTypeでサイト構築を行っている際に、サムネイル画像の生成が上手く出来ませんでした。 今後もあるかもしれないので、実際に解決まで至った方法を残しておきます。 原因 よくよく見て見ると、管理画面のダッシュボードにImageMagickが使えない旨が書いてありました。 デフォルトではImageMagickが設定されており、利用できない状態だとサムネイル等、画像の編集に関わる事ができないみたいです。 使用する画像ライブラリの変更 そこで、他の画像ライブラリを使用する方法を探してみると、mt-config.cgiに以下の様に追記することで変更が可能とのこと。 GDの場合 ImageDriver GD NetPBMの場合 ImageDriver NetPBM しかし、設定をGDに変更しても、まだダッシュボードから警告が取れていませんでした。 そもそもGDが入っているのか?とmt-check....