2009年08月28日 (金)
ProgressionのシーンをCMSで動的に出力する方法。Movable TypeやWordPressをカスタマイズしてProgressionのPRML形式のXMLを出力するテンプレートを作成。任意のファイル名で保存し、それをFlash側で読み込んで使うという流れです。
今回はMovable Typeを使用した方法を簡単にまとめておきます。
実績ページの制作を仮定しタイトル、コメント、URL、画像の項目を生成したとします。MT4.2で一部カスタムフィールドを使用し、リンク先URLとサムネ画像の項目を個別に設計してます。
まず、インデックステンプレートを新規作成して下記のようなコードを打ち込みます。
<?xml version="1.0" encoding="UTF-8" ?>
<prml version="2.0.0" type="text/prml">
<MTEntries>
<scene name="works_<$MTEntryID$>" title="<$MTEntryTitle$>" cls="myproject.scene.WorksViewScene">
<workstitle><$MTEntryTitle$></workstitle>
<worksurl><$MTurl$></worksurl>
<workscomment><![CDATA[<$MTEntryBody$>]]></workscomment>
<worksimage><MTIfNonEmpty tag="thumbnail"><MTthumbnailAsset><$MTAssetURL$></MTthumbnailAsset><MTElse><$MTBlogURL$>images/no_image.png</MTIfNonEmpty></worksimage>
</scene>
</MTEntries>
</prml>
これをパブリッシュすると下記のようにXMLが吐き出されます。
<?xml version="1.0" encoding="UTF-8" ?>
<prml version="2.0.0" type="text/prml">
<scene name="works2" title="実績2" cls="myproject.scene.WorksViewScene">
<workstitle>実績2</workstitle>
<worksurl>http://www.hoge.com/</worksurl>
<workscomment><![CDATA[実績に2のコメント ]]></workscomment>
<worksimage>http://test.com/works/2.png</worksimage>
</scene>
<scene name="works1" title="実績1" cls="myproject.scene.WorksViewScene">
<workstitle>実績1</workstitle>
<worksurl>http://www.hoge.com/</worksurl>
<workscomment><![CDATA[実績に1のコメント ]]></workscomment>
<worksimage>http://test.com/works/1.png</worksimage>
</scene>
</prml>
MTのエントリ登録画面で画像をアップロードすればそのURIがworksimageの項目に入り、画像未指定の場合は代替え画像が入ります。addSceneFromXMLでsceneを生成し、画像はProgression側でCastImageLoaderなどで読み込めばOKかと。あとはテキスト等の処理を。
Progression側の操作は
を参考に。sceneが動的に生成されますので、ブログを投稿する感覚で更新が行けるはずですぅ。
閑話休題。きょうは新しいMacOSX スノレパの発売日!!。仕事終わったらApple Storeにいかなくちゃ!