Labo

Flash SWF object0.02 + Templatize1.0

MT内で、swfObjectのコードを本文に書き出してくれるプラグインを「左脳サイト」というサイトの方が開発されていて便利です。
http://n-yagi.0r2.net/script/2009/06/swfobjectjs.html

このプラグインを使用するためには、MT記事内に直接MTタグを書きこめるようになる必要があるので、「Templatize1.0」という、本文内にMTタグを記述することが出来るプラグインをまずインストールすることにしました。

ダウンロードはここから↓
http://www.skyarc.co.jp/engineerblog/entry/3969.html

ダウンロードしてzipファイルを解凍したらTemoatize.plをMTのpluginフォルダに入れます。
今回はブログ記事内の「続き(EntryMore)」で、MTタグを使用したかったので「ブログ記事」のテンプレートに

<mt:IfNonEmpty tag="EntryMore">
    <$mt:EntryMore templatize="mt:Swf"$>
</mt:IfNonEmpty>

と記述しました。

オプションで、使用したいMTタグの指定をすると、指定したタグ以外は無効になり、思わぬ事故などを防げます。
templatize="all"にしてしまうと、すべてのMTタグが有効になってしまうので危険です。

これで「mt:Swf」を記事内で使用できるようになったので、実際に「Flash SWF object 0.02」と「swfObject 2.0(js)」を連携させます。(名前が似ているのでちょっと混乱しそうですが。。) まず、HTMLヘッダ内にswfObject.jsへのリンクを付けます。 そして「SwfObjects」を使用したい部分を<mt:SwfObjects>タグで囲みます。例えば

<body>
    <mt:SwfObjects>
    〜
    </mt:SwfObjects>
</body>

といった感じです。
</mt:SwfObjects>の直前にswfObjectのjsコードが書き出されるので、今回は<body>の直前に</mt:SwfObjects>を入れました。

あとは記事内にswfObject 2.0に送るパラメータや、代替えソースを含めた記述をするだけです。

<mt:Swf swf="http://plamo-tokyo.com/swf/swf090620.swf" w=550 h=400 ver="9" par='wmode:"opaque"'>
"This is Demo Flash."
</mt:Swf>

実際書き出されるHTMLはこうなります。

<body>

〜

<div class="swf_object">
<div id="SWF604OBJ_ID1">
"This is Demo Flash."
</div>
</div>

〜

<script type="text/javascript">try{swfobject.embedSWF("http://plamo-tokyo.com/swf/swf090620.swf","SWF604OBJ_ID1","550","400","9","",{},{wmode:"opaque"},{});}catch(e){}
</script> </body>

見て分かるように、<div id="SWF604OBJ_ID1">とidが自動で発行されるので、swfを1ページ内にいくつも配置しても、その数分 id と jsコードが生成されるのでぶつかることはありません。
こりゃええあんばい。

【配置したswf】

"This is Demo Flash."

09.06.22.PM07:45

Voice

Leave a Reply
name:
e-mail:
url:
voice:

Track Back

http://plamo-tokyo.com/site/mt-tb.cgi/43