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】
09.06.22.PM07:45