<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>宇都宮ウエブ制作所 &#187; Tips</title>
	<atom:link href="http://utweb.jp/blog/archives/tag/tips/feed" rel="self" type="application/rss+xml" />
	<link>http://utweb.jp/blog</link>
	<description>宇都宮さんっていう、夫婦でやってるウエブサイト制作請負の大阪下町家内製手工業業務日誌</description>
	<lastBuildDate>Thu, 02 Feb 2012 14:35:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/tag/tips/feed" />
		<item>
		<title>【ダメデザイナー救済！】 Fwで作る、コーダー＆プログラマさんに嫌われない素材</title>
		<link>http://utweb.jp/blog/archives/1249</link>
		<comments>http://utweb.jp/blog/archives/1249#comments</comments>
		<pubDate>Thu, 10 Nov 2011 06:52:49 +0000</pubDate>
		<dc:creator>頼子</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[便利]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=1249</guid>
		<description><![CDATA[机の上が散らかっている人は、頭の中も散らかっている。— 佐藤可士和 談
机の上も絶賛散乱中、典型的ダメなデザイナーの宇都宮頼子です。
今回から始まった【ダメデザイナー救済！】は、基本ズボラな私が、いつかみんなに「こいつデ [...]]]></description>
			<content:encoded><![CDATA[<p><em>机の上が散らかっている人は、頭の中も散らかっている。— 佐藤可士和 談</em></p>
<p>机の上も絶賛散乱中、典型的ダメなデザイナーの宇都宮頼子です。<br />
今回から始まった【ダメデザイナー救済！】は、基本ズボラな私が、いつかみんなに「こいつデキる・・・！」と言わせたい、そんな思いを胸にコツコツ溜まってきた小技をご紹介していくコーナーです。</p>
<p>twitterのタイムラインで流れてくる「ココとココの頭位置が微妙に違うのは意図的！？」「この端数は何だ？？」などなど、コーダー＆プログラマさん達の深夜のつぶやきは耳が痛い、耳が痛いよぅ。</p>
<p>今回はFireworksのシンボルをつかって、コーダー＆プログラマさんもニッコリ間違いなしのステキな素材作りを学びましょう！</p>
<p><span id="more-1249"></span></p>
<h3>●汎用性の高いブロックを作る</h3>
<div id="attachment_1254" class="wp-caption alignnone" style="width: 310px"><a title="blog1" href="http://utweb.jp/blog/wp-content/uploads/2011/11/blog1.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/11/blog1-300x141.jpg" alt="よく使うサイズのブロックを作ります。重ねても使えるので最低限でOK" title="blog1" width="300" height="141" class="size-medium wp-image-1254" /></a><p class="wp-caption-text">よく使うサイズのブロックを作ります。重ねても使えるので最低限でOK</p></div>
<p>こんな感じで汎用性の高そうなサイズのシンボルを作っておきます。（※以降ブロックと呼びます）ここでは5px,10px,20px,30pxと作ってみました。これらは共有ライブラリで保存しておくといつでも取り出せて便利！</p>
<p>※ワンポイントアドバイス： 矩形、線、テキストは保存の前にビットマップに変換しておきましょう。ベクターデータのままで回転させるとサイズが狂ってしまうようです。</p>
<p>基礎編は以上！さて実践編です。</p>
<h3>●伸縮自在のパーツをつくる</h3>
<p>中身によってタテヨコサイズが変わってしまうような素材の場合でも、9スライスとブロックを使って、paddingが再現できます。</p>
<div id="attachment_1253" class="wp-caption alignnone" style="width: 310px"><a title="blog2" href="http://utweb.jp/blog/wp-content/uploads/2011/11/blog2.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/11/blog2-300x137.jpg" alt="9スライス内の四隅にブロックを配置します" title="blog2" width="300" height="137" class="size-medium wp-image-1253" /></a><p class="wp-caption-text">9スライス内の四隅にブロックを配置します</p></div>
<p>まず枠オブジェクトをシンボル化させる際に、9スライスも有効にしておきます。<br />
9スライスのガイド設定で四隅箇所にブロックを配置しましょう。この四隅だといくら伸縮してもブロックも崩れません。</p>
<div id="attachment_1252" class="wp-caption alignnone" style="width: 310px"><a title="blog3" href="http://utweb.jp/blog/wp-content/uploads/2011/11/blog3.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/11/blog3-300x211.jpg" alt="伸縮させてもpaddingが可視化できて便利！" title="blog3" width="300" height="211" class="size-medium wp-image-1252" /></a><p class="wp-caption-text">伸縮させてもpaddingが可視化できて便利！</p></div>
<p>中身によって縦横が変わっても、ホラpaddingも崩れない！</p>
<h3>●見出しをつくる</h3>
<div id="attachment_1251" class="wp-caption alignnone" style="width: 310px"><a title="blog4" href="http://utweb.jp/blog/wp-content/uploads/2011/11/blog4.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/11/blog4-300x121.jpg" alt="見出しの左脇と下辺にブロックを使用してみました" title="blog4" width="300" height="121" class="size-medium wp-image-1251" /></a><p class="wp-caption-text">見出しの左脇と下辺にブロックを使用してみました</p></div>
<p>さっき作ったブロックを使って見出しシンボルを作ってみます。ブロックのよいところは、スナップで吸着してくれるところ。 配置もらくちんです。（※ブロックは目玉マークをオフにしてもスナップだけは効いてくれるところもシビれます。）</p>
<p>こんな感じでリストや区切り線などパーツをどんどん作っていきます。<br />
「このルールにはまらない場合はどうすればいいの？ここだけは100pxの余白にしたいの。」 そういうときは別名でそういうパーツをつくっちゃえばいいだけのことです。<br />
何度も登場するパーツであればシンボルの中にブロックを入れるといいですし、ロゴのような単体パーツだったら直接ブロックを配置してもOK。<br />
そうこうやるとこんな感じでできあがり！</p>
<div id="attachment_1265" class="wp-caption alignnone" style="width: 280px"><a title="kansei" href="http://utweb.jp/blog/wp-content/uploads/2011/11/kansei1.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/11/kansei1-270x300.jpg" alt="oh!デザインしてたら指示書も一緒にできちゃった・・・！" title="kansei" width="270" height="300" class="size-medium wp-image-1265" /></a><p class="wp-caption-text">oh!デザインしてたら指示書も一緒にできちゃった・・・！</p></div>
<p>この方法のステキなところは</p>
<ul>
<li>素材ファイルが兼指示書になる！</li>
<li>ブロックというシンボルを作っておく事でスナップが効いて配置もラクラク！</li>
<li>ルールを整理しながらデザインするので自然とcssコーディングを意識したデザインに！</li>
</ul>
<p>これで「＃デザイナーあるある」つぶやきも、他人事のように笑える日も近いはず。是非おためしあれー。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/1249/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/1249" />
	</item>
		<item>
		<title>【Fireworks】線幅「1」と「2」の中間の線をひく方法</title>
		<link>http://utweb.jp/blog/archives/1102</link>
		<comments>http://utweb.jp/blog/archives/1102#comments</comments>
		<pubDate>Mon, 29 Aug 2011 16:24:36 +0000</pubDate>
		<dc:creator>頼子</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=1102</guid>
		<description><![CDATA[こんにちわ、宇都宮頼子です。
ひさびさのFireworksネタなんですが、書いてて不安になるくらいニッチです・・・。しかも先に詫びておくといろいろと歯切れも悪いです。
線幅「1」では細すぎて「2」だと太すぎる・・・、そん [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちわ、宇都宮頼子です。<br />
ひさびさのFireworksネタなんですが、書いてて不安になるくらいニッチです・・・。しかも先に詫びておくといろいろと歯切れも悪いです。</p>
<p>線幅「1」では細すぎて「2」だと太すぎる・・・、そんなお悩みを抱えた方はいらっしゃいませんか？塗りがあるならまだしも<small><a href="#nuri">*1</a></small>、線だけで構成したい場合にはちょっと困りものですよね。</p>
<p>まずはサンプルを。ちょうど線幅「1」と「2」の中間の線をひきたい、というのが今回のお題目です。</p>
<div id="attachment_1105" class="wp-caption alignnone" style="width: 366px"><a title="sample1" href="http://utweb.jp/blog/wp-content/uploads/2011/08/sample1.gif"><img src="http://utweb.jp/blog/wp-content/uploads/2011/08/sample1.gif" alt="線幅「１」では細すぎて「２」だと太すぎる・・・" title="sample1" width="356" height="276" class="size-full wp-image-1105" /></a><p class="wp-caption-text">線幅「１」では細すぎて「２」だと太すぎる・・・</p></div>
<p><span id="more-1102"></span><br />
そしてどん！こちらがその完成品。どうでしょう、中間といえば中間の太さじゃないでしょうか。</p>
<div id="attachment_1106" class="wp-caption alignnone" style="width: 366px"><a title="sample2" href="http://utweb.jp/blog/wp-content/uploads/2011/08/sample2.gif"><img src="http://utweb.jp/blog/wp-content/uploads/2011/08/sample2.gif" alt="中間といえば中間な仕上がり。同心円に注目。" title="sample2" width="356" height="305" class="size-full wp-image-1106" /></a><p class="wp-caption-text">中間といえば中間な仕上がり。</p></div>
<p>さて続いてやり方です。まず線幅を「1」にし、フィルターのPhotoshopライブエフェクト「ストローク」を選択。サイズを「1」、位置を「縦書きの中央揃え」にします。</p>
<div id="attachment_1110" class="wp-caption alignnone" style="width: 310px"><a title="howto" href="http://utweb.jp/blog/wp-content/uploads/2011/08/howto.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/08/howto-300x73.jpg" alt="ポイントは「ストローク中央揃え」と、位置「縦書きの中央揃え」。" title="howto" width="300" height="73" class="size-medium wp-image-1110" /></a><p class="wp-caption-text">ポイントは「ストローク中央揃え」と、位置「縦書きの中央揃え」。</p></div>
<p>ただしこの方法ではピクセルが整数値ではなくなる為、線がにじむのはご愛嬌。。。<br />
線のにじみに目をつぶるか、線の太さに目をつぶるか、という葛藤の末に前者を選んだ貴方様にだけおすすめできるチップスとなっております。</p>
<p>ここで気になるのが、Photoshopでは位置は「中央」なのに、Fireworksでは「縦書きの中央揃え」となっている点。・・・縦書きって何!?どこから来たん?!</p>
<p>とこんな感じの歯切れの悪い記事ですが、にじみの気になりにくいイラストなどでわりと活躍してくれてます。</p>
<p><small id="nuri">*1</small> 対象物に塗りのある場合は、ストロークを中央に整列＆塗りをストロークに重ねる、でキレイにできますよ。この場合、前者の方法よりにじみは少ないです。（あぁぁ、ますます需要なさそうな締め方・・・）<br />
<div id="attachment_1111" class="wp-caption alignnone" style="width: 376px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/08/nuri.gif" title="nuri"><img src="http://utweb.jp/blog/wp-content/uploads/2011/08/nuri.gif" alt="塗りがあるなら、こちらの方法がキレイです・・・" title="nuri" width="366" height="217" class="size-full wp-image-1111" /></a><p class="wp-caption-text">塗りがあるなら、この方法の方がキレイです・・・</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/1102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/1102" />
	</item>
		<item>
		<title>【Fireworks】お絵かき感覚で、紙がビリビリに破れた感じを表現するチュートリアル</title>
		<link>http://utweb.jp/blog/archives/962</link>
		<comments>http://utweb.jp/blog/archives/962#comments</comments>
		<pubDate>Fri, 21 Jan 2011 04:34:04 +0000</pubDate>
		<dc:creator>頼子</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[チュートリアル]]></category>
		<category><![CDATA[デザイン]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=962</guid>
		<description><![CDATA[画像加工ではPhotoshopに負けると思われがちなFireworksですが、使い方次第で結構イイ線いくもんです。できればFwだけで完結しちゃいたい――、そんな貴方にぴったりのチュートリアルをご紹介します。
紙がビリビリ [...]]]></description>
			<content:encoded><![CDATA[<p>画像加工ではPhotoshopに負けると思われがちなFireworksですが、使い方次第で結構イイ線いくもんです。できればFwだけで完結しちゃいたい――、そんな貴方にぴったりのチュートリアルをご紹介します。</p>
<div id="attachment_968" class="wp-caption alignnone" style="width: 310px"><a title="紙がビリビリに破れた表現完成品" href="http://utweb.jp/blog/wp-content/uploads/2011/01/s06.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s06-300x261.jpg" alt="Fwだけでここまでできちゃうよ！完成品" title="紙がビリビリに破れた表現完成品" width="300" height="261" class="size-medium wp-image-968" /></a><p class="wp-caption-text">Fwだけでここまでできちゃうよ！完成品</p></div>
<h3>紙がビリビリに破れた感じをつくろう。</h3>
<p>これ、Photoshopでのチュートリアルは数あれど、実はFireworksだけでも作ることができるんです。しかもお絵かき感覚で簡単に、エッジの質感もなかなか良い具合に仕上げる事ができます。<br />
具体的な作り方は以下から。<br />
<span id="more-962"></span></p>
<ol>
<li>画像を用意します。
<div id="attachment_963" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s01.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s01-300x261.jpg" alt="元画像" title="s01" width="300" height="261" class="size-medium wp-image-963 " /></a><p class="wp-caption-text">元画像</p></div><br />　<br />　</li>
<li>適当に切り取ります。隠れる部分なんでざっくりで大丈夫。ここではマスクを使いました。
<p><div id="attachment_964" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s02.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s02-300x256.jpg" alt="ここは神経質にならなくて大丈夫" title="s02" width="300" height="256" class="size-medium wp-image-964 " /></a><p class="wp-caption-text">ここは神経質にならなくて大丈夫</p></div><br />　<br />　</li>
<li>新規ビットマップ画像を追加したら、ブラシツール「油彩」＜「ブリストル」に設定。後で色を変えるので、輪郭が分かりやすい色にしておきます。こんな感じでお絵かきを楽しむように、輪郭を塗り塗りしてください。
<p><div id="attachment_965" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s03.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s03-300x258.jpg" alt="お絵かき感覚で思うままにぬりぬりして下さい" title="s03" width="300" height="258" class="size-medium wp-image-965 " /></a><p class="wp-caption-text">お絵かき感覚で思うままにぬりぬりして下さい</p></div><br />　<br />　</li>
<li>塗り上がったところ。輪郭だけの一枚のビットマップになっているはずです。
<p><div id="attachment_966" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s04.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s04-300x258.jpg" alt="塗り上がりました。" title="s04" width="300" height="258" class="size-medium wp-image-966 " /></a><p class="wp-caption-text">塗り上がりました。</p></div><br />　<br />　</li>
<li>このビットマップに対して「フィルター」＜「カラーを調整」＜「色相・彩度」のパラメータをこんな感じに変更。
<p><div id="attachment_970" class="wp-caption alignnone" style="width: 263px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s05_01.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s05_01-253x300.jpg" alt="赤色だったのを「色相・彩度」をつかって自然な色に変更" title="s05_01" width="253" height="300" class="size-medium wp-image-970 " /></a><p class="wp-caption-text">赤色だったのを「色相・彩度」をつかって自然な色に変更</p></div><br />　<br />　</li>
<li>さらにシャドウを追加すればあら簡単。ビリビリレイヤーの完成です。
<p><div id="attachment_971" class="wp-caption alignnone" style="width: 276px"><a href="http://utweb.jp/blog/wp-content/uploads/2011/01/s05_02.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s05_02-266x300.jpg" alt="最後にドロップシャドウ" title="s05_02" width="266" height="300" class="size-medium wp-image-971 " /></a><p class="wp-caption-text">最後にドロップシャドウ</p></div><br />　<br />　</li>
</ol>
<p>【応用】ブラシストロークやフィルターの微調整や追加で冒頭でも紹介したサンプル位の質感まで高めることができますよ。</p>
<p><div id="attachment_968" class="wp-caption alignnone" style="width: 310px"><a title="紙がビリビリに破れた表現完成品" href="http://utweb.jp/blog/wp-content/uploads/2011/01/s06.jpg"><img src="http://utweb.jp/blog/wp-content/uploads/2011/01/s06-300x261.jpg" alt="ブラシストロークやフィルターを微調整するとこんな感じ" title="紙がビリビリに破れた表現完成品" width="300" height="261" class="size-medium wp-image-968" /></a><p class="wp-caption-text">ブラシストロークやフィルターを微調整するとこんな感じ</p></div>
<p>このＦｗスタイルライブラリを用意しました。こちらからダウンロードどぞ。→[ <strong><a href="http://utweb.jp/sendfiles/biribiri_paper.zip">biribiri_paper.zip</a></strong> ]<br />
※シャドウ部分はライブラリに含まれてませんが、サンプルではシャドウ用の別レイヤーを作ってゆがみなどの変形をさせてます。</p>
<p>Photoshopチュートリアルでは、投げ縄ツールを使ってエッジを作る方法が多いようなんですが、これがなかなか自然な輪郭をなぞれず、四苦八苦しちゃうんですよね。<br />
今回紹介したFwの方法だと微妙なエッジもブラシで書くだけなので、「もうちょいココは下地の白を出したい」「ココあたりで破くことに迷いが生じて線が揺れる」等お絵かき感覚で自分の思うままにできちゃいますよ。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/962/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/962" />
	</item>
		<item>
		<title>SWC+Progressionで快適コーディング生活はじまる！</title>
		<link>http://utweb.jp/blog/archives/910</link>
		<comments>http://utweb.jp/blog/archives/910#comments</comments>
		<pubDate>Thu, 21 Oct 2010 05:52:53 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FlashBuilder]]></category>
		<category><![CDATA[Progression]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=910</guid>
		<description><![CDATA[いきなりですがswcファイルって「スウィック」って読むらしいですね。アドビの中の人もそう読んでたんで確かな情報です。
しかしながら僕は慣れなくていつも「エスダブルシー」って読んでしまうんですね。そこらへんのモサさが自分流 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_911" class="wp-caption alignnone" style="width: 276px"><a title="SWC書き出し" href="http://utweb.jp/blog/wp-content/uploads/2010/10/51700dd1ba12bada0e02bb945011cba5.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/51700dd1ba12bada0e02bb945011cba5-266x300.png" alt="中段あたりにチェックボックスがあるよ" title="SWC書き出し" width="266" height="300" class="size-medium wp-image-911" /></a><p class="wp-caption-text">中段あたりにチェックボックスがあるよ</p></div>
<p>いきなりですがswcファイルって「スウィック」って読むらしいですね。アドビの中の人もそう読んでたんで確かな情報です。<br />
しかしながら僕は慣れなくていつも「エスダブルシー」って読んでしまうんですね。そこらへんのモサさが自分流さ、なんて無頼を決め込んで今日も「エスダブルシーエスダブルシー」と 読んでいます。<br />
僕が「エスダブルシー」って言う度に周りが若干イラっとした顔されるんですが、それでもかわまず「エスダブ…エスダボースィー」とか呼び続けてるのに未だ怒られた事がないのは 、ひとえに僕の人徳だと思います。</p>
<p>無駄な軽口はこのくらいにして、先日行われたひよこの会で少しだけ要望があったのでSWCと連携してProgressionでのFlashサイト開発環境を超快適にする方法をご紹介したいと思います。<br />
今までのやり方にもよりますが、体感100倍速いと言っても全くおおげさでないくらい、爆速開発が可能になりますよ！<br />
<span id="more-910"></span></p>
<h3> そもそもパブリッシュが遅い…</h3>
<p>Progressionに限らずですが、Flashサイトを作っていて一番のネックになるのが「パブリッシュに時間がかかる」事なんですよね。<br />
それもflaファイルが肥大すればする程パブリッシュに時間がかかるようになり、納品間近の追い込みの時期になるにつれてパブリッシュだけで1分以上かかるようになるし…（ヒーッ）。</p>
<p>デバッグなんかもそうですが、「よりわかりやすく、より気持ちよく」動くことを心がけているFlashサイトにとって、1pxの位置や0.1秒の速度までこだわってなんべんも動かしてみて作り込むことはよくあることなのに、パブリッシュに時間がかかるようになるとそれもままなりません。</p>
<h3>書き出せるものは先に書き出しておけば…</h3>
<p>そこで今回ご紹介するswcなんですが、これは言ってしまえば頻繁に変更しない素材はあらかじめswc形式で書き出しておいて 、それを使うことによって開発を進めていこう、という方法なんですね。<br />
この方法自体は、僕もkatapadさんから教えて頂きました。<br />
ちなみに僕というひよこ向けの備忘録なので、最初はswcとは何か、どうやってswcを書き出すのかなどの事が書かれてありますが、Progression連携のミソは一番最後なので、swc書き出しに精通されてる方はこのまま最後まですっ飛ばして読まれてもいいかもしれません。</p>
<h3>ものには順序がある。まずはFlashBuilderとProgressionを連携させるようにしておく</h3>
<p>僕の現在のFlash開発環境は100％FlashBuilder+Progressionなので、その方法でご説明します。<br />
基本的なところは同じなので他の開発環境 でも工夫してswc連携スタイルが作れることと思います。</p>
<p>まずは僕の以前の記事<br />
<a href="/blog/archives/815" target="_self">Progression4をいい感じにFlashBuilderで作業できるようにする </a><br />
を参考にしてください。<br />
これはFlashBuilderがsrcにあるflaファイルを勝手にbin-debugフォルダにコピーしてしまう現象を回避できなかったので、思い切ってflaファイルを削除してそれでもちゃんとswfがパブリッシュできるように設定し直した方法ですが、基本的にこのスタイルで開発を進めていくことになります。</p>
<p>記事に沿って、index.flaとかpreloader.flaを思い切って捨てちゃって下さい。次に進みます。</p>
<h3>新規flaファイルを作る</h3>
<p>FlashCS5の「ファイル」→「新規」から新規flaファイルを作ります。Progressionと連携させるのでASのバージョンはもちろんAS3です。<br />
僕はFlashBuilder連携を前提にこの記事を書いていますんで、今回FlashCS5指定ですがFlashDevelopとかFDT、FlexBuilderなどお使いの環境に合わせて読まれてる方にとっては、特にFlashCSのバージョンは関係はありません。</p>
<p>新規flaファイルの保存場所はどこでもかまいません。どこでもかまいませんがFlashBuilderのワークスペース以外のところに作るのがおすすめです。flaファイルのファイル名も何でもいいですが、ここでは<strong>material.fla</strong>と名付けました。</p>
<h3>SWCファイルを書き出す</h3>
<div id="attachment_912" class="wp-caption alignnone" style="width: 160px"><a title="おやこんなところにSWC書き出しのチェックが！" href="http://utweb.jp/blog/wp-content/uploads/2010/10/bad291777fba55d2fb440901354724a7.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/bad291777fba55d2fb440901354724a7-150x150.png" alt="おやこんなところにSWC書き出しのチェックが！" width="150" height="150" class="size-thumbnail wp-image-912 " /></a><p class="wp-caption-text">おやこんなところにSWC書き出しのチェックが！</p></div>
<p>そのままFlashの「ファイル」→「パブリッシュ設定」で真ん中らへんに「SWC書き出し」というチェックボックスがあるので、ここにチェックを入れます。<br />
そのままパブリッシュしたらflaファイルと同じフォルダに「material.swf」が出来たと思います。</p>
<div id="attachment_913" class="wp-caption alignnone" style="width: 160px"><a title="swcファイル書き出し" href="http://utweb.jp/blog/wp-content/uploads/2010/10/61f5826cf97f3819d29b2e1895fddeb9.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/61f5826cf97f3819d29b2e1895fddeb9-150x150.png" alt="おやこんなところにSWCファイルが出来ちゃった！" title="swcファイル書き出し" width="150" height="150" class="size-thumbnail wp-image-913 " /></a><p class="wp-caption-text">おやこんなところにSWCファイルが出来ちゃった！</p></div>
<h3>material.flaのライブラリの中はリンケージ書き出しのシンボルでいっぱい！</h3>
<p>さてさて、これでswc書き出し用のflaファイルが新規作成できましたので、早速作業に入っていきましょう。<br />
基本的にはmaterial[素材]というファイル名からも想像がつくように、このflaファイルの役割は「<strong>素材倉庫</strong>」です。長年慣れ親しんできたflaファイルをただの素材倉庫にするのは僕もしのびないですが快適環境作りのため。最終的にはFlash全体の開発環境が快適になることによって自然とこのflaファイルの活躍の場も以前より増してきますのでご心配なく！</p>
<p>最終的にライブラリの中にたくさんリンケージ書き出しのシンボルが作れました。</p>
<div id="attachment_915" class="wp-caption alignnone" style="width: 160px"><a title="ライブラリの様子" href="http://utweb.jp/blog/wp-content/uploads/2010/10/d9ec38aebee13f49f0a6f2382e344fc1.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/d9ec38aebee13f49f0a6f2382e344fc1-150x150.png" alt="ライブラリの中は血と汗と夢で一杯" title="ライブラリの様子" width="150" height="150" class="size-thumbnail wp-image-915  " /></a><p class="wp-caption-text">ライブラリの中は汗と涙と夢でいっぱい！</p></div>
<h3>書き出したSWCファイルをProgression開発環境にコピーする</h3>
<p>この記事ではProgression開発環境イコールFlashBuilderのワークスペースな意味合いで使っています。<br />
先ほど書き出したswcファイルを早速Progressionの開発環境で使ってみましょう。</p>
<p>具体的にはProgression開発環境のlibというフォルダに先ほどのswcファイルをコピーするだけで良いです。</p>
<div id="attachment_916" class="wp-caption alignnone" style="width: 310px"><a title="swcをlibフォルダに持ってきた" href="http://utweb.jp/blog/wp-content/uploads/2010/10/727373cc45b1639f577f17f80ce4d8c7.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/727373cc45b1639f577f17f80ce4d8c7-300x181.png" alt="わかりにくくてすみません。スクリーンショットでは800_material.swcとリネームされていますが特に意味はないです。" title="swcをlibフォルダに持ってきた" width="300" height="181" class="size-medium wp-image-916" /></a><p class="wp-caption-text">わかりにくくてすみません。スクリーンショットでは800_material.swcとリネームされていますが特に意味はないです。 </p></div>
<h3>たったこれだけ！</h3>
<p>FlashBuilder+Progression環境だと、この「swcをlibフォルダに入れる」だけであとは何もせずにswcの中にあるリンケージをそのままクラスとして読み込めるようになります！</p>
<div id="attachment_917" class="wp-caption alignnone" style="width: 310px"><a title="自動的に使える！" href="http://utweb.jp/blog/wp-content/uploads/2010/10/63251d6e1ca21681db35b6288b5ca9f3.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/63251d6e1ca21681db35b6288b5ca9f3-300x178.png" alt="快適すぎて死ぬｗｗｗ！" title="自動的に使える！" width="300" height="178" class="size-medium wp-image-917" /></a><p class="wp-caption-text">快適すぎて死ぬｗｗｗ！</p></div>
<p>他の環境だとクラスパスの設定とかしないといけないかもしれないですが、本来はひよこ的には「クラスパスって何？」ってところから記事を書きたいところなのですが今回の記事ではそれは割愛して、まあ他の環境でよくわからない場合は本番開発用flaと同じフォルダにswcファイルも入れておけば同じような感じにはなるかと思います。</p>
<h3>まじで便利なコンポーネント連携！</h3>
<p>さてさて、ここまでは普通にswc書き出しとの連携なんですが、Progressionが凄いのはここからなんです。</p>
<p>とちょっとそのまえにProgressionのAddChildコマンドについて少しお話を…。</p>
<p>FlashのActionScript3では、表示オブジェクトを画面上に入場/退場させる命令としてaddChildとremoveChildがあります。<br />
Progressionではそれをさらに便利にしたjp.progression.commands.displayパッケージがあって、ようはわかりやすく言うとAddChildコマンドやRemoveChildコマンドっちゅうのがあります。<br />
（他にもAddChildAtコマンドやRemoveAllChildrenなどなどいろいろ便利なコマンドもありますが、ややこしくなるのでこの記事では一律AddChildコマンド、RemoveChildコマンドと呼ぶことにします）<br />
ただ便利なだけでなく、Progression側で何が表示されてて何が退場していったのかの管理とか、それこそ重なり順とか、表示されたときに実行される処理とか、かなりProgressionの根幹に関わる処理が、このAddChild系コマンドの実行されたタイミングで行われています（いるような気がします）。<br />
なのでAddChildコマンドを使わずにaddChildだけで表示した場合、これがProgressionが管理しきれない表示オブジェクトとなってしまうので、使ってる経験上こういうのが思いがけずちょっとしたトラブルを招くことが多いです。</p>
<p>Progression始めた人で、僕が個人的にはまりやすいなと思うのが、この部分なので、例えばCastSpriteやCastMovieClip系の表示オブジェクトをAddChildコマンド経由せずにふつうにflashの addChildで表示させてしまってatCastAddedが正しく実行されないなどのミスで戸惑っている人がいるんじゃないかなと思っています。</p>
<p>swc連携に限ったことではないですが、Progressionでは特に初心者の場合でAddChildコマンドが何しちょるのかようわからん、といった場合はパフォーマンスを稼ぐなどの特別な理由がない限りはaddChildは使わずほぼ全てAddChildコマンドを使うようにしよう！と決めておくとそこらへんのミスが減るんじゃないかと僕は思います。</p>
<p>で、少し脱線したんで本題に戻りますが、とにかく<strong>ProgresisonのAddChild系コマンド、RemoveChild系コマンドはコンポーネントとも連携が利く</strong>ので、ここからが本領発揮です。</p>
<p>Flashの強力なタイムライン機能を活かしてInOutMovieコンポーネントでわしわしアニメーション描くもよし！</p>
<div id="attachment_919" class="wp-caption alignnone" style="width: 310px"><a title="InOutMovieコンポーネント" href="http://utweb.jp/blog/wp-content/uploads/2010/10/4b6b4a199c7c595116aa3c4e9c835218.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/4b6b4a199c7c595116aa3c4e9c835218-300x191.png" alt="複雑なアニメーションもInOutMovieコンポーネントで思いのまま！" title="InOutMovieコンポーネント" width="300" height="191" class="size-medium wp-image-919" /></a><p class="wp-caption-text">複雑なアニメーションもInOutMovieコンポーネントで思いのまま！</p></div>
<p>ボタンなんかもRollOverButtonコンポーネントでさくさく！</p>
<div id="attachment_920" class="wp-caption alignnone" style="width: 310px"><a title="RollOverButtonコンポーネント" href="http://utweb.jp/blog/wp-content/uploads/2010/10/40bde7fe2c065055784fb82c79febede.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/10/40bde7fe2c065055784fb82c79febede-300x196.png" alt="どうせswcの中に素材としてボタン置いてるんだからついでにコンポーネントでボタン化までしておいてしまえ！" title="RollOverButtonコンポーネント" width="300" height="196" class="size-medium wp-image-920" /></a><p class="wp-caption-text">どうせswcの中に素材としてボタン置いてるんだからついでにコンポーネントでボタン化までしておいてしまえ！</p></div>
<h3>new AddChildするだけの簡単なお仕事</h3>
<p>あとはリンケージさえ設定してもらえれば、あとはプログラム側ではnew AddChildするだけの簡単なお仕事です。本当に。<br />
ビジュアルとロジックの分離は当制作所でも必須課題なのですが、Progression導入でそこらへんも本当にやりやすくなりました。タイムラインでしっかり作り込みたいところはタイムラインで作って、Tweenerなどでぴっちり制御したいところはロジックを作って、それらの違いを意識せずに最終的に扱えるようになるのは、本当にパワフルな開発環境を整えることが出来ます。</p>
<p>この記事中、ほとんどが僕の無駄口で長くなってしまいましたが、実際はやってみると本当に簡単なので是非試してみて下さいね！<br />
デメリットとしては先ほど書いたように今まで慣れ親しんだflaファイルをただの素材置き場としてしか使わなくなる事への心の抵抗くらいですが、最終的にはFlashのタイムラインというパワフルな環境を十二分に発揮できるスタイルに移行するわけなので、かえって以前よりFlashCS5の出番が増えるようになります。<br />
「もっとこうしたほうがいいよ」とか「うちではこうしてるよ」ですとか、「うそばっかりやんけ！」などのご意見ありましたらコメント下さいね。<br />
最近「ブログ読んでます」という反応が少しだけ得られるようになって、本当嬉しいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/910/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/910" />
	</item>
		<item>
		<title>DropboxとAmazonS3で堅牢な作業環境を構築してみる</title>
		<link>http://utweb.jp/blog/archives/872</link>
		<comments>http://utweb.jp/blog/archives/872#comments</comments>
		<pubDate>Fri, 30 Jul 2010 12:25:58 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[便利]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=872</guid>
		<description><![CDATA[我々コンテンツ制作屋にとっては作業ファイルというのは命の次に大事なものでして、実際今までは作業用ファイルをRaid5で構築したNAS（とにかくものすごくデータが消えにくくて家中のPCからアクセスできるネットワークディスク [...]]]></description>
			<content:encoded><![CDATA[<p>我々コンテンツ制作屋にとっては作業ファイルというのは命の次に大事なものでして、実際今までは作業用ファイルをRaid5で構築したNAS（とにかくものすごくデータが消えにくくて家中のPCからアクセスできるネットワークディスク）で管理していたんですが、火事や地震などの際、何をおいてでもどうやってこれを運びだそうかなんて常々考えてしまうくらい、そのくらい作業ファイル消失やデータ消失に対してデリケートなわけです。</p>
<p>そうでなくても個人事業やフリーランス、中小企業でWEBサイト制作のお仕事をされている場合、データ管理はどうするのがベストなのかいろいろと考えさせられますね。</p>
<p>そこで今までのやりかたと失敗点を踏まえて、WEBサイト制作においてのデータ管理の方法を探っていきたいと思います。<br />
究極の目標は「<strong>家が突然爆発しても仕事が続けられる</strong>」です。</p>
<p>ちなみに最初に念のためお断りしておきますと、この記事では長々とDropboxとjungleDiskとAmazonS3のサービスについて書かれてありますが、それぞれのサービスの説明は全然しておりません。あくまでそれぞれ3つのサービスを連携させたらこういうふうになるよ、という類の記事ですんで、個々のサービスについては今一度検索して調べてみることをおすすめします。<br />
それぞれ有料サービスが存在しますし、特にDropboxとjungleDiskはただサインインしただけじゃなくて専用のクライアントソフトをインストールしないと全然便利に使えないものなので、その使い方については別途調べておく事をお勧めします。<br />
<span id="more-872"></span></p>
<h3>WEBサイト制作においてのデータ管理の課題</h3>
<h4>とにかくいろんなタイプのデータが混在する</h4>
<p>ただのHTMLサイトを作るだけでもHTMLファイルや各種画像ファイル、画像の元素材ファイルや指示書などファイルの種類と数は相当数になります。<br />
さらにプログラマブルなサイトを求められる場合、ライブラリやその階層構造（多くの場合HTMLの公開フォルダとは別でプログラムを作るのでHTMLだけの時と比べると階層構造がややこしくなる）、プログラムやデータの設計書なども必要になってきます。<br />
Flashも必要となるとさらに加えて音声データや映像データ、さらにその元素材など扱うデータは多岐にわたります。<br />
種類も量も大量のファイルを扱う必要が出てきます。</p>
<h4>自前管理ではRaid5と世代バックアップは必須だった</h4>
<p>絶対壊れたらだめなときに壊れるのがHDDです。CM連動型WEB広告など、アップ直前に限ってHDDが故障したなんて事故が理由にならないくらい、たとえHDDが壊れてもファイルがすぐに取り出せる状態でないといけないので、ネットワークディスクをRaid5で組むのは必須でした。<br />
これでデータの保存領域は堅牢になりましたが、間違った操作に対してまだ非常に弱いです。たとえばそのネットワークディスクの中のファイルを間違って全部消してしまったとか。<br />
そこでRaid5＋定期的な世代バックアップを必要としていました。</p>
<h4>ネットワークディスクは遅い</h4>
<p>ネットワークディスクをいくら完璧にしたとしても、ローカルディスクの速度には勝てないので、やはり大量のファイルをスピーディーに扱えないのは困りものです。いくら定期的バックアップとってたとしても、間違えて削除したときとかもすぐに戻せないし。<br />
そうすると作業のたびにネットワークディスクからローカルに一旦コピーしておいて、ローカルで作業して終わったらまたネットワークディスクに置く、という手間が必要になりました。<br />
大事なそこのところを手作業に頼るというジレンマで、実際事故も多かったです。<br />
ただでさえどこのが最新状態なのかがわかりにくくなっているのに、共同作業なんかのときは最悪で、ファイルの一部が最新のものが混在してたりと、誰もがコントロールできない状態に陥りました。<br />
たった一文字の修正が細かく刻まれてきた場合なんかは、「ネットからローカルにコピーして 修正したものをまたネットにあげる」の繰り返しで、やればやるほどミスも多くなるしかといって直接ネットをいじったりしたらそれはそれでどれが最新版かわからなくなる元兇だったりで、ルールを厳格にしてもゆるくしても必ず何かしらの事故の要因を作ってしまうので悩みの種でした。</p>
<h3>基本的にはDropboxがほぼすべての悩みを解決</h3>
<h4>見つけた、Dropboxちゃんのいいところ</h4>
<p>今更説明の必要もないDropboxですが、これを導入するだけで基本的にはほぼすべての悩みが解決しました。</p>
<ul>
<li>基本はローカルなので速度とか関係ない
<ul>
<li>Dropboxのフォルダがローカルに出来るので、このフォルダの中で作業すればいいだけなので普段全くストレスなく仕事が出来ます。</li>
</ul>
</li>
<li>対象がDropboxフォルダだけなのが逆にいい
<ul>
<li>Dropboxのほかにも、もっと高機能なsugarsyncというサービスもありましたが、sugarsyncが同期できるフォルダを選べるのに対してDropboxは同期できるフォルダは一つだけです。もともと作業用フォルダは一つにまとめておくタイプだったので、このDropboxの制約が逆に好みに合っていました。同期できるフォルダがいろいろ散らかっていると、そっちの管理にも手を取られてしまいます。</li>
</ul>
</li>
<li>勝手にオンラインに同期してくれる
<ul>
<li>基本はローカルで作業しているだけですが、裏で僕の知らないうちにオンラインに同期してくれています。PC2台持ってても、どっちで作業してもきちんとファイルが同期している。これはすごい。</li>
</ul>
</li>
<li>自動で世代バックアップをとってくれる
<ul>
<li>PC2台も持ってない人でも、この世代バックアップだけでもDropbox使う理由があります。ファイルを間違えて消してしまったとき、もうちょっと前のバージョンに戻したいとき、修正に修正を重ねたデザインをあっさり「やっぱ前のに戻して」と言われたとき、Dropboxが自動でオンラインに同期する際に世代ごとにバックアップもしてくれているので、いつでもファイルを元に戻せます。<strong>もう納品直前にファイル消失して気絶することもなくなります！</strong></li>
</ul>
</li>
<li>共同作業もばっちり
<ul>
<li>どのフォルダを誰と共有するかも細かく決められるので、共同作業時もオンラインストレージやネットワークドライブを介する必要がありません。</li>
</ul>
</li>
</ul>
<p>こんなに便利なDropbox、基本的にこれさえあればたとえ今突然PCが爆発しても、新しいPCにDropboxを入れさえすれば何事もなかったかのように作業を続けることが出来ます。<br />
もしまだDropboxのアカウントが無い方いましたら、次のリンクからアカウント登録を行いますと通常2GBまで無料なのに対して20MB増えて2.25GBの状態で始められることが出来ますのでよかったらどうぞ！（僕のアカウントからの紹介になるので、僕も250MB増えます）</p>
<p><a href="https://www.dropbox.com/referrals/NTcyODY1NDg5" target="_blank">Dropboxのアカウントを作る</a></p>
<p>英語のサイトですが、説明に従ってアカウントを作って、専用のアプリをダウンロードしてインストールすればすぐに使い始めることが出来ます。</p>
<h4>Dropboxだけでは解決できないところ</h4>
<p>Dropboxに限ったことではないのですが、この手の自動ストレージサービスで問題なのは容量が少ないことでした。<br />
無料アカウントでも2GB、年間$99.00払って50GB、年間$199.00払えば100GB まで拡張できるのですが全然足りなくなります。<br />
結局、Dropboxに入れておくファイルを選ぶ必要があるのですが、選ばなかったファイルに限ってPCが爆発した直後に即時対応の修正を求められるかもしれません。冗談みたいですが、必要なときに限って必要なファイルがないのはよくある事です。</p>
<h3>AmazonS3と併用で解決！</h3>
<h4>時期尚早？</h4>
<p>いきなりですが、今AmazonS3でアカウント作るのはちょっとまずいかもしれないです。<br />
というのも今AmazonS3でアカウント作るとUSにあるサーバーを使うことになるかと思うんですが、もしかしたらそろそろ東京にもサーバーが作られるんじゃないかという噂を聞いたんですよ。<br />
ネットワークといえどサーバーとの物理的な距離は回線の速度に影響しますんで、もしかしたら出来るかもしれない東京サーバーまでアカウント作成は待った方がいいかもしれないです。<br />
<strong>僕は今作りましたが</strong>。<br />
今すぐにでもアカウント作るぞ！っていう我に続く猛者がいましたらリンク張っておきますんでどうぞ。</p>
<p><a href="http://aws.amazon.com/s3/" target="_blank">http://aws.amazon.com/s3/</a></p>
<p>こちらも簡単な英語ですが、僕がはまったのは郵便番号を7桁で書いたらエラーになったので、3桁に減らしたらいけました。</p>
<p>そもそもAmazonS3とはなんぞや？ということですが、ものすごく簡単に説明しますとAmazonが自分ところで使ってるサーバーを有料で貸してくれるので、これがまたえっらいスペックいいのにえっらい安くて済むんでみんな喜んでるサービスなんです。<br />
AmazonEC2っていう、すっごい速いサーバーを、使った時間だけ貸してくれるサービスがありましてですね、これがまたすごくて、仮想化っていうんですけどアクセスがあったときだけ（仮想的に）サーバーの電源を入れて、計算が終わると（仮想的に）サーバーの電源を消すみたいなことを自動的にやってくれるサービスなんですね。電源を落としちゃうとデータは保存されないので、その保存用に作られたサービスがAmazonS3ということになっております。<br />
電源入れてた時間だけお金払う貸しファミコンがEC2で、なんでも入れられる便利な貸しカセットがあって、その要領に対してお金払うのがS3ってイメージですかね。</p>
<h3>jungleDiskでAmazonS3をネットワークドライブ化</h3>
<p>AmazonS3を契約しただけではそんなに便利にデータを扱えないですがjungleDiskというサービスを使うことによってAmazonS3のサーバーをネットワークドライブとして扱うことが出来るようになります。<br />
jungleDisk自体も有料サービスで、僕もどのプランでやればいいのかかなり迷ったんですが共同作業用にゆくゆくはサブアカウントを増やしたくなるかもしれないので、僕はとりあえずBusiness Classの月$4のプランで初めてみることにしました。個人でアカウントとって管理する分にはPersonalの月$3のプランでもいいかもしれませんね。</p>
<p><a href="https://www.jungledisk.com/" target="_blank">https://www.jungledisk.com/</a></p>
<h4>とりあえずDropboxとjungleDisk+AmazonS3でルールを作っておく</h4>
<p>Dropboxはローカルでの作業を全自動でクラウド化してくれるサービス。でも最大容量が少ない。<br />
jungleDiskはクラウドの先にあるものをローカルで扱ってるように見せかけてくれるサービス。容量無限大。でもローカルに見えるその先は実はネットワークの向こうなので速度遅い。</p>
<p>このふたつの特徴をうまいこと使い分けて、次のように管理するようにしました。</p>
<ul>
<li>現在進行中の案件はDropbox上で
<ul>
<li>更新が頻繁にある状態。なのでスピードが求められる。<br />
世代間バックアップも必須</li>
</ul>
</li>
<li>案件が閉じたらjungleDiskでAmazonS3に保管
<ul>
<li>またいつ使うかはわからないけど、作ったものは大事に保管。<br />
普段はあまり触ることのないファイルなのでネットワーク越しである程度遅くても大丈夫。それよりはどんどん貯めるので容量がたっぷり欲しい。</li>
</ul>
</li>
</ul>
<p>これでお互いのいいところを補いながらも、家が爆発しても手元にPCと回線さえあれば、爆発直後からでもどんな案件の対応も出来る環境が手に入りました。</p>
<h3>おまけ</h3>
<p>少し冗長かな？とも思うんですが、jungleDiskの月$4のプランだとAmazonS3とは別に10GBの容量を借りることが出来たので、試しにここにDropboxをSyncさせてみました。<br />
まあほんと意味のない冗長性だと思いますが。</p>
<h3>まとめ</h3>
<p>クラウドクラウドって言うのは、なんか流行に乗っかってて嫌なんですけど、昔から出来るだけネットワーク上に作業環境をおいてしまって特定のPCや環境に依存されにくいというのは目指してきたんですが、僕みたいに個人事業主だとネットワーク環境も自分でメンテナンスしないといけないので、手段が目的化してしまうと逆効果なわけですね。</p>
<p>実際、僕の一番の仕事は制作作業なわけでして、その制作作業を助けるためのネットワーク構築のはずが、ネットワークに障害が起こると自分でメンテしないといけないので、それはそれで非常にリスクを増やすだけでした。</p>
<p>VPNサーバーやNAS、自動バックアップサーバーや世代管理サーバーなんかも自分で構築しちゃうと非常に安価にできるわけですが、これらのうちのどれかひとつでも落ちてしまうとただでさえ仕事どころではなくなるのに、ネットワークのメンテナンスもしないといけなくなる。そうするとこのサーバーはいったいどこまで信頼できるのかの見極めもしないといけないし、それによって依存度をかえないともいけなくなる。確実なファイル管理のための手段であったはずのサーバーが、堅実なネットワーク運用を目的としないと何も出来なくなるんです。</p>
<p>そういう意味では、小規模制作集団にとってのデータクラウド化は非常に有意義なんじゃないかと思います。Dropboxの2GB上限のプランだけでも無料ですし、かなりおすすめできますが、僕はもう少し踏み込んでクラウドでデータを運用してみようかと思います。</p>
<p>僕のデータ管理についての考え方を長々と書いた割には、結局は「DropboxとjungleDiskの併用まじおすすめ」しか中身のない記事ですが、僕も常日頃からデータ管理に頭を悩ませている毎日ですので、少しでもどなたかの運用のヒントになれば幸いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/872/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/872" />
	</item>
		<item>
		<title>jQuery,ActionScript,Progressionで関数を登録する際に引数を渡す</title>
		<link>http://utweb.jp/blog/archives/789</link>
		<comments>http://utweb.jp/blog/archives/789#comments</comments>
		<pubDate>Sat, 12 Jun 2010 04:47:53 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=789</guid>
		<description><![CDATA[子供時代は痩せてたので口の悪い上級生から「ホネホネロック」とからかわれていましたが、その呼ばれ方、けっこう気に入ってました。正宗です。
JavaScriptでもActionScriptでも、関数を登録する場面ってけっこう [...]]]></description>
			<content:encoded><![CDATA[<p>子供時代は痩せてたので口の悪い上級生から「ホネホネロック」とからかわれていましたが、その呼ばれ方、けっこう気に入ってました。正宗です。</p>
<p>JavaScriptでもActionScriptでも、関数を登録する場面ってけっこうよくあって、ActionScriptでいえば特にaddEventListenerですね。そんなときに引数を渡したい事もあると思うんです。<br />
その方法を書いておきたいと思います。<br />
<span id="more-789"></span></p>
<h3>jQuery（JavaScript）の場合</h3>
<pre class="javascript">jQuery<span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'#hogehoge'</span> <span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">load</span><span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'nanika.html'</span>, myFunc <span style="color: #66cc66;">&#41;</span>;
<span style="color: #003366; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'こんにちは'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>こういうやつのmyFuncに引数を渡したいとき。</p>
<pre class="javascript">jQuery<span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'#hogehoge'</span> <span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">load</span><span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'nanika.html'</span>, myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #3366CC;">'こんにちは'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #003366; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> argment <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>argment<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>渡され先でreturn functionするのがコツです。コツなのです！</p>
<h3>ActionScriptの場合</h3>
<p>どんどんいきましょう</p>
<pre class="actionscript">_mc.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">CLICK</span>, __click__<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'クリックされたよ'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
functioin __click__<span style="color: #66cc66;">&#40;</span> argment <span style="color: #66cc66;">&#41;</span>:<span style="color: #000000; font-weight: bold;">Function</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:MouseEvent <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> argment <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3>Progressionの場合</h3>
<p>こういう書き方が出来るってことはProgressionのaddCommand内でも使えるはず！</p>
<pre class="actionscript"> <span style="color: #000000; font-weight: bold;">new</span> SerialList<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">null</span>,
	myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'コマンドにFunctionを登録するときにも引数がわたせる'</span> <span style="color: #66cc66;">&#41;</span>,
	myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'どんどん渡そう'</span> <span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> argment <span style="color: #66cc66;">&#41;</span>:<span style="color: #000000; font-weight: bold;">Function</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> argment <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<h3>何故こうなるの？</h3>
<p>書き方だけわかっても、理屈がわからないと気持ち悪いですよね。一見意味不明な書き方にも見えるし、まる覚えしないと次もういちど書けないようでは身につけたとは言えません。<br />
僕なりに解釈した考え方を書いていこうと思います。<br />
ちなみに型が明記できるActionScriptで書いていきます。</p>
<h4>function は（）で実行される</h4>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'hogehoge'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//関数を実行</span>
myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>;</pre>
<p>当たり前のルールなんですが、一度作った関数は、その関数の名前のお尻に() 「括弧」を付ける事で実行されます。<br />
ということは逆に言うと括弧を付けないと実行されないという事です。</p>
<h4>関数を実行せずとりあえず登録だけしておく</h4>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:MouseEvent <span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'クリックされました'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
_mc.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">CLICK</span>, myFunc <span style="color: #66cc66;">&#41;</span>;</pre>
<p>こういう書き方をしている場合、ようは「マウスクリックされたときにmyFuncっていう関数を実行してね」と書いている訳です。</p>
<pre class="actionscript">_mc.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">CLICK</span>, myFunc<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//まちがい</span></pre>
<p>こう書いちゃうと、マウスクリックの時に実行してほしい関数なのに今実行してしまいます。<br />
つまり、「あとで実行したい関数は、名前だけ登録しておく」のが正解なわけで、通常はそう書いている訳ですね。</p>
<h4>関数の「戻り値」をおさらいしよう</h4>
<p>本来関数を登録だけしておくはずの場所で、あえて実行する訳ですから通常だとエラーなわけです。間違いです。そこをあえて実行してみた場合、スクリプトの世界ではどのような事が行われるでしょうか。<br />
その謎を考える前に関数の「戻り値」というやつをもう一回おさらいしてみます。</p>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> myFunc1<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">100</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">var</span> a:<span style="color: #0066CC;">int</span> = myFunc1<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//変数aには数字の100が入る</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> myFunc2<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #ff0000;">&quot;こんにちは&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">var</span> b:<span style="color: #0066CC;">String</span> = myFunc2<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//変数bには文字の「こんにちは」が入る</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> myFunc2<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">Object</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#123;</span> test:<span style="color: #ff0000;">&quot;ごはんおいしいです&quot;</span> <span style="color: #66cc66;">&#125;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">var</span> c:<span style="color: #0066CC;">Object</span> myFunc3<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//変数cにはObjectが入る</span></pre>
<h4>関数が関数を返す</h4>
<p>結論から言うと、イベントリスナーやコールバック関数など、「関数を今実行せず登録だけしておく」場所で「あえて実行させてみる」わけですから、そこで実行された関数が関数を返してしまえばいい、とある頭のいい誰かが考えた訳ですね。</p>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> :<span style="color: #000000; font-weight: bold;">Function</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span><span style="color: #cc66cc;">+1</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">var</span> f:<span style="color: #000000; font-weight: bold;">Function</span> = myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//変数fに関数が入る</span>
f<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//関数が実行され1+1の計算結果が表示される</span></pre>
<p>たとえばイベントリスナーの第二引数には</p>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">&#125;</span></pre>
<p>この形が入れば言い訳ですから、</p>
<pre class="actionscript"><span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> :Functioin <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span> :<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #66cc66;">&#125;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>こういう形を返す関数を作っておいて</p>
<pre class="actionscript">_mc.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">ENTER_FRAME</span>, myFunc<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</pre>
<p>こういうふうにイベントリスナーの登録時にはmyFuncを実行してしまえば、関数が返ってくるので、その返ってきた関数のほうをイベントリスナーは登録してくれる、というのがこの書き方の謎の正体です。</p>
<p>はじめに発見した人はそうとう頭良いと思います。ぼくはこの理屈を発見したとき芸術性すら感じました。<br />
実用性もさることながら、こういった動作の合理性を考えていくのもかなり楽しいです。昔中学校の技術の時間にエンジンの仕組みを勉強して以来、その動作の合理性に魅せられて車オタクバイクオタクというよりはエンジンオタクになったのを思い出します。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/789/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/789" />
	</item>
		<item>
		<title>zen-codingにswfobjectなど微妙によく使うものを追加する</title>
		<link>http://utweb.jp/blog/archives/671</link>
		<comments>http://utweb.jp/blog/archives/671#comments</comments>
		<pubDate>Sat, 13 Mar 2010 05:42:07 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[DreamWeaver]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[zen-coding]]></category>
		<category><![CDATA[まとめ]]></category>
		<category><![CDATA[便利]]></category>
		<category><![CDATA[覚書]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=671</guid>
		<description><![CDATA[楽しいですね！zen-coding。
html:4t>(div#header>h1+ul.globalNavigation>li.navi$*6>a)+(div#content>div#main+div#sub)+(di [...]]]></description>
			<content:encoded><![CDATA[<p>楽しいですね！<a href="http://code.google.com/p/zen-coding/" target="_blank">zen-coding</a>。</p>
<pre>html:4t>(div#header>h1+ul.globalNavigation>li.navi$*6>a)+(div#content>div#main+div#sub)+(div#footer>ul.globalNavigation>li.navi$*6>a)</pre>
<p>こんなんが一行で書けてしまうので、ついつい仕事の本分を忘れて「いかにzen-codingで済ますか」ばかり興味が行っちゃって、大量にある面倒臭いコーディングもパズルを解くかのように楽しみながら作業できちゃいます。</p>
<p>せっかくなのでコーディングしてたら絶対出てくる他のいろいろと面倒なコードもzen-codingにまかせられないか、その方法を探って参りました。<br />
<span id="more-671"></span><br />
今や説明の必要もないくらい、Flashを埋め込む際に定番となったSWFObject。<br />
よく使うんだけど書き方を微妙に覚えて無くて、毎回どっかのサイトや過去の案件からコピペしてきてファイル名やサイズなんかを書き直してる、って方も多いと思います。<br />
せっかくzen-codingを使うのだから、</p>
<pre>swfobject</pre>
<p>と書けば一発でSWFObjectの記述を書き出すようにしたらいいですね！</p>
<p>参考にしたのはこちらのページ<br />
<a href="http://designblog.ecstudio.jp/htmlcss/my-zen-coding.html" target="_blank">Zen-Codingでさらにコーディングを1.5倍くらい速くするためのカスタマイズ方法</a><br />
もはや説明の必要もないくらいリンク先のページで非常にわかりやすく丁寧に解説されているので、これに習ってzen-codingにswdobjectの記述を追加するようカスタマイズしていきましょう。</p>
<h3>zen_setting.jsを探す</h3>
<p>僕の場合はWindowsVistaのDreamWeaverにzen-codingをインストールしましたので<br />
C:\Users\＜Windowsのユーザー名＞\AppData\Roaming\Adobe\Dreamweaver CS4\ja_JP\Configuration\Commands\ZenCoding<br />
ここに<strong>zen_setting.js</strong>はありました。<br />
Macだと<br />
/Users/＜Macのユーザー名＞/Library/Application Support/Adobe/Dreamweaver CS4/ja_JP/Configuration/Commands/ZenCodingです。<br />
環境によって違うと思いますのでまずは<strong>zen_setting.js</strong>を見つけて下さい。</p>
<h3>書き足す</h3>
<p>ファイル名を見てわかるように、中身はjavascriptになっています。<br />
javascriptになじみのある方は、もうこの時点で書き足す方法もわかったのではないでしょうか。<br />
このファイルの中身はzen_settingsというオブジェクトの固まりが書かれてあります。<br />
javascriptが苦手な方はこの時点で頭が痛いかも知れませんが、最後にコピペだけでカスタマイズできるようにしておきましたんで、もう少しおつきあい下さいね。</p>
<p>ほいで、このzen_settingsというオブジェクトの固まりをざーっと読んでいくと、どうやらその中にはsccとかhtmlっていうこれまた固まりがあって、さらにその中がsnippetsとかabbreviationsとかいう名前の固まりが入っている、みたいな形になっています。<br />
ちなみに<strong>zen_setting.js</strong>の3行目を読むと、このコードを書いた人の名前はセルゲイさんのようです。ハラショー！セルゲイ！！</p>
<p>なので、この<strong>zen_setting.js</strong>の最後の最後にこういう形で追加してやればいいです。<br />
最後の最後というのは、700何十行目かに</p>
<pre class="javascript"><span style="color: #66cc66;">&#125;</span>;</pre>
<p>で終わってると思うんですが、その後に改行とかして新しく追加していけばいいってことです。</p>
<pre class="javascript">zen_settings.<span style="color: #006600;">html</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">swfobject</span> =	<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject_src.js&quot;&gt;&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'(function(){<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var swfDirectory = &quot;./swf/&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var swfFileName = &quot;index.swf&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var targetId = &quot;flashcontent&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var width = &quot;600&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var height = &quot;400&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var version = &quot;9.0.0&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var flashvars = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	flashvars.varsDirectory = &quot;/&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var params = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.menu = &quot;false&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.quality = &quot;best&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.scale = &quot;noscale&quot;;//showAll<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.salign = &quot;tl&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	//params.wmode = &quot;opaque&quot;;//transparent<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.swliveconnect = &quot;true&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allowfullscreen = &quot;true&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allowscriptaccess = &quot;always&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allownetworking = &quot;all&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var attributes = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.id = &quot;swfID&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.name = &quot;swfID&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.align = &quot;middle&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	swfobject.embedSWF(swfDirectory+swfFileName, targetId, width, height, version, swfDirectory+&quot;expressInstall.swf&quot;, flashvars, params, attributes);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'})();<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;</pre>
<p>僕が参考にしたリンク先では、最終的にmy_zen_setting.jsという独自ファイルで管理する前提のためファイルの途中の行に書き足していっていましたが、どっちが良い悪いというわけでもないですが僕の場合は<strong>zen_setting.js</strong>ファイルを直接触る前提のため、後から書き足していったところがわかりやすいので最後に書き足す方法をとりました。つまりもともとあったコードの中間には一切手を加えず、とにかく追加していくやり方ですね。</p>
<p>これでHTMLファイル上で</p>
<pre>swfobject</pre>
<p>と書いて最後尾でCtrl+,（コントロール＋カンマ）すればSWFObjectのややこしい記述が一発でずらずらと出てきます！WOOO！！</p>
<h3>せっかくなので他にも追加してみる</h3>
<p>GoogleAnalyticsのコードなんかも追加してみましょう。</p>
<pre class="javascript">zen_settings.<span style="color: #006600;">html</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">googleanalytics</span> = 	<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'document.write(unescape(&quot;%3Cscript src=<span style="color: #000099; font-weight: bold;">\'</span>&quot; + gaJsHost + &quot;google-analytics.com/ga.js<span style="color: #000099; font-weight: bold;">\'</span> type=<span style="color: #000099; font-weight: bold;">\'</span>text/javascript<span style="color: #000099; font-weight: bold;">\'</span>%3E%3C/script%3E&quot;));<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'try{<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'var pageTracker = _gat._getTracker(&quot;UA-|xxxxxx-x&quot;);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'pageTracker._trackPageview();<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'} catch(err) {}<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;</pre>
<p>CSSのclearfixのコードなんかも<br />
<a href="http://www.yomotsu.net/wp/?p=561" target="_blank">いまどき ? いまさら ? clear fix のコード</a><br />
こちらを参考に書いてみました。</p>
<pre class="javascript">zen_settings.<span style="color: #006600;">css</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">clearfix</span> =	<span style="color: #3366CC;">&quot;.clearfix { /zoom : 1; }<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> +
					<span style="color: #3366CC;">&quot;.clearfix:after { content: ''; display: block; clear: both; }<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></pre>
<p>書き方のコツがわかったら、ほかにもどんどんと自分好みのzen-codingができそうです。</p>
<h3>コードをまとめてみた</h3>
<p>今回紹介した3つの追加項目をまとめときました。</p>
<pre class="javascript"><span style="color: #009900; font-style: italic;">/**
 *	added 2010/03/13
 *	http://utweb.jp/
 *	Masamune Utsunomiya
 **/</span>
zen_settings.<span style="color: #006600;">html</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">swfobject</span> =	<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject_src.js&quot;&gt;&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'(function(){<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var swfDirectory = &quot;./swf/&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var swfFileName = &quot;index.swf&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var targetId = &quot;flashcontent&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var width = &quot;600&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var height = &quot;400&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var version = &quot;9.0.0&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var flashvars = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	flashvars.varsDirectory = &quot;/&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var params = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.menu = &quot;false&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.quality = &quot;best&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.scale = &quot;noscale&quot;;//showAll<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.salign = &quot;tl&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	//params.wmode = &quot;opaque&quot;;//transparent<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.swliveconnect = &quot;true&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allowfullscreen = &quot;true&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allowscriptaccess = &quot;always&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	params.allownetworking = &quot;all&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	var attributes = {};<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.id = &quot;swfID&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.name = &quot;swfID&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	attributes.align = &quot;middle&quot;;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'	swfobject.embedSWF(swfDirectory+swfFileName, targetId, width, height, version, swfDirectory+&quot;expressInstall.swf&quot;, flashvars, params, attributes);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'})();<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
					<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
zen_settings.<span style="color: #006600;">html</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">googleanalytics</span> = 	<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'document.write(unescape(&quot;%3Cscript src=<span style="color: #000099; font-weight: bold;">\'</span>&quot; + gaJsHost + &quot;google-analytics.com/ga.js<span style="color: #000099; font-weight: bold;">\'</span> type=<span style="color: #000099; font-weight: bold;">\'</span>text/javascript<span style="color: #000099; font-weight: bold;">\'</span>%3E%3C/script%3E&quot;));<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;script type=&quot;text/javascript&quot;&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'try{<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'var pageTracker = _gat._getTracker(&quot;UA-|xxxxxx-x&quot;);<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'pageTracker._trackPageview();<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'} catch(err) {}<span style="color: #000099; font-weight: bold;">\n</span>'</span> +
						<span style="color: #3366CC;">'&lt;/script&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
zen_settings.<span style="color: #006600;">css</span>.<span style="color: #006600;">snippets</span>.<span style="color: #006600;">clearfix</span> =	<span style="color: #3366CC;">&quot;.clearfix { /zoom : 1; }<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> +
					<span style="color: #3366CC;">&quot;.clearfix:after { content: ''; display: block; clear: both; }<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></pre>
<p>ようはいままでの記事ぜんぶすっ飛ばして読んでない人も、このコードをまるごとコピーして<strong>zen_setting.js</strong>の最後に貼り付けておけばいいって事です！</p>
<p>みなさんも「こんなのもスニペットにしてみたよ」ってのがあれば是非おしえてくださいませ。<br />
では良いzen-codingを！ハラショー！</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/671/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/671" />
	</item>
		<item>
		<title>DreamWeaverテンプレート機能のオプション領域などでグローバルナビゲーションを便利にする</title>
		<link>http://utweb.jp/blog/archives/585</link>
		<comments>http://utweb.jp/blog/archives/585#comments</comments>
		<pubDate>Mon, 25 Jan 2010 17:13:14 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[DreamWeaver]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[便利]]></category>
		<category><![CDATA[制作]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=585</guid>
		<description><![CDATA[年末進行のせいにして年賀状も書いてない男。正宗です。さっきやっと寒中見舞いが刷り上がりました。
DreamWeaverのテンプレート機能。便利ですよね。うまくつかうとライブラリ機能と組み合わせる事によって大規模なサイト制 [...]]]></description>
			<content:encoded><![CDATA[<p>年末進行のせいにして年賀状も書いてない男。正宗です。さっきやっと寒中見舞いが刷り上がりました。</p>
<p>DreamWeaverのテンプレート機能。便利ですよね。うまくつかうとライブラリ機能と組み合わせる事によって大規模なサイト制作におけるケアレスミスを大幅に減らすことが出来ます。<br />
今回はそのテンプレート機能でグローバルメニューをどう作ろうか考えたので、現時点で見つけた一番スマートではないかと思えるやり方を紹介したいと思います。</p>
<p><span id="more-585"></span></p>
<p>まずは僕が一生懸命作ったDreamWeaverのテンプレートを見て下さい。</p>
<pre class="xml"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;html</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;doctitle&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;title<span style="font-weight: bold; color: black;">&gt;</span></span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/title<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;all&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/css/import.css&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;head&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;page&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;header&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;h1<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/h1<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ul</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;globalNavigation&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/ul<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;contents&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;maincontents&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ここにコンテンツが入ります。</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;footer&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">コピーライト</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/html<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li></ol></pre>
<p>こうしたテンプレートを作っておく場合、例えば「/profile/」以下のファイルには全部</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;self&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>こんな感じで他のリストとは違ったクラス名を付けたくなるかもしれません。</p>
<p>また、/profile/index.htmlページは、メニューからプロフィールのリンクを押しても自身のページに飛ぶだけなのでアンカーを付けたくない、などといったようにページによってメニューが細かく変化する場合が出てきます。</p>
<p>グローバルメニューは編集可能領域にしてしまうとか、それだとテンプレート機能の便利さがスポイルされてしまうのでライブラリと組み合わせて運用するとか、いろいろ試してみたんですがどれも一長一短あって困っていましたが、面白いものを見つけました。</p>
<p>それが「<strong>編集可能オプション領域</strong>」と「<strong>オプション領域</strong>」です。<br />
それぞれテンプレート編集画面から「挿入」→「テンプレートオブジェクト」から挿入できます。<br />
普段よく使う「編集可能領域」と一緒の場所にあるので、これは何なのか不思議に思った方も多いと思います。<br />
ところがこれ、実際に使ってみようと思っても、変な画面が出るだけでナニが何やらわけがわからないんですよね。</p>
<p>じつはこれ、JavaScriptの書式でテンプレートを動的に変化させることができるものみたいなんです。</p>
<h3>編集可能オプション領域</h3>
<p>まずは「編集可能オプション領域」の説明から。</p>
<pre class="xml"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;html</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;doctitle&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;title<span style="font-weight: bold; color: black;">&gt;</span></span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/title<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;all&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/css/import.css&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;head&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;profile_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;gallery_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;contact_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;link_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;page&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;header&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;h1<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/h1<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ul</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;globalNavigation&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(profile_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(gallery_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(contact_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(link_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/ul<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;contents&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateBeginEditable name=&quot;maincontents&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ここにコンテンツが入ります。</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;footer&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">コピーライト</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/html<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li></ol></pre>
<p>ややこしい記述が増えてきたので順番に見て行きます。<br />
先ずは１３行目〜１６行目</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;profile_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;gallery_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;contact_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;link_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
&nbsp;</pre>
<p>これはDreamWeaverのテンプレート用の記述方式で、例えば１３行目はprofile_classという変数の中に"menu"という値がセットすることを意味します。１４行目、１５行目、１６行目も全く同じで、それぞれgallery_class、contact_class、link_classという変数に"menu"という値をセットしています。<br />
そんな変数なんて変なものセットしてどこで使うんだYO!!と思いたいところですが、次に２４行目〜２７行目を見てみます。</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(profile_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(gallery_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(contact_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(link_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>「class="@@(profile_class)@@"」なんていうオットロシイ文字が出てきましたが、落ち着いてみるとこれ、ただのli タグに追加されたクラス属性です。</p>
<p>class="何々”の中がちょっと変わった書き方になってるので複雑に見えますが、<br />
@@(　　　)@@の中はさっき１３行目〜１６行目で設定した変数が入っています。<br />
先ほどセットした変数をここで実際につかっている、というイメージですね。</p>
<p>テンプレートをこのようにしておくと、このテンプレートからページを作った時に</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>こんな感じで作成してくれる、っていうのが「編集可能オプション領域」になります。</p>
<p>ここから当初の目的である「どうやってページごとの特定のメニューだけクラス名を変えるのか？」を実際に試してみます。</p>
<p>テンプレート機能を使おうという記事なので、ここまで読んでる方はその前段階である、DreamWeaverのサイト定義はもう済ませてあると前提で進めて行きます。<br />
サイト定義がよくわからない場合は「DreamWeaver サイト定義」などの語句でヘルプやWEB上の情報を検索してみて下さい。</p>
<p>ファイルの新規作成で「test.html」などのHTMLファイルを作成して開いておいて、メニューの「修正」→「テンプレート」→「テンプレートをページに適用」でHTMLファイルをテンプレートと関連づけます。<br />
<a href="http://utweb.jp/blog/wp-content/uploads/2010/01/427feeba2c3a5b495c286f27ae1fdcc3.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/01/427feeba2c3a5b495c286f27ae1fdcc3-300x227.png" alt="テンプレートをページに適用" title="テンプレートをページに適用" width="300" height="227" class="alignnone size-medium wp-image-586" /></a></p>
<pre class="xml"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;html</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceBegin template=&quot;/Templates/main.dwt&quot; codeOutsideHTMLIsLocked=&quot;false&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceBeginEditable name=&quot;doctitle&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;title<span style="font-weight: bold; color: black;">&gt;</span></span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/title<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span>=<span style="color: #ff0000;">&quot;all&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/css/import.css&quot;</span> <span style="font-weight: bold; color: black;">/&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceBeginEditable name=&quot;head&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceParam name=&quot;profile_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceParam name=&quot;gallery_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceParam name=&quot;contact_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceParam name=&quot;link_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/head<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;page&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;header&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;h1<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>マサムネット<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/h1<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;ul</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;globalNavigation&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/ul<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;contents&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceBeginEditable name=&quot;maincontents&quot; --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ここにコンテンツが入ります。</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceEndEditable --&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;footer&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">コピーライト</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/div<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/body<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- InstanceEnd --&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/html<span style="font-weight: bold; color: black;">&gt;</span></span></span></div></li></ol></pre>
<p>test.htmlはこんな感じになると思います。</p>
<p>ここでメニューから「修正」→「テンプレートプロパティ」を選択します。<br />
<a href="http://utweb.jp/blog/wp-content/uploads/2010/01/2bfc96a45921677282a36721a07709ca.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/01/2bfc96a45921677282a36721a07709ca-300x75.png" alt="テンプレートプロパティをえらぶ！" title="テンプレートプロパティをえらぶ！" width="300" height="75" class="alignnone size-medium wp-image-592" /></a></p>
<p>さきほど苦労してテンプレートで作った変数がずらっと並んでいると思うので、そこからうまく「profile_class」という変数を見つけて、中身の「menu」を「self」と書き換えて下さい。<br />
<a href="http://utweb.jp/blog/wp-content/uploads/2010/01/7ba1f0a8ac2230876c7ad091cc32c8cc.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/01/7ba1f0a8ac2230876c7ad091cc32c8cc-300x233.png" alt="きみはうまくみつけられるか！？" title="きみはうまくみつけられるか！？" width="300" height="233" class="alignnone size-medium wp-image-594" /></a></p>
<p>お見事！グローバルナビゲーション部分のリストが次のように変わったかと思います。</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;self&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<h3>オプション領域</h3>
<p>次に「オプション領域」を試してみたいと思います。<br />
これは何かと言うと、テンプレートの中に、オプションとして「付けるか付けないか」をページごとに決められる部分を作る機能です。</p>
<p>（一個前にやったtest.html<strong>ではなく</strong>）先ほどのテンプレートに戻って、テンプレート変数を増やしてみます。</p>
<pre class="xml"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;profile_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;gallery_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;contact_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;link_class&quot; type=&quot;text&quot; value=&quot;menu&quot; --&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;profile_anchor&quot; type=&quot;boolean&quot; value=&quot;true&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;gallery_anchor&quot; type=&quot;boolean&quot; value=&quot;true&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;contact_anchor&quot; type=&quot;boolean&quot; value=&quot;true&quot; --&gt;</span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- TemplateParam name=&quot;link_anchor&quot; type=&quot;boolean&quot; value=&quot;true&quot; --&gt;</span></span></pre>
<p>追加しているのは下４行目です。上４行と比べて、今度は<br />
type="boolean"<br />
となっています。</p>
<p>プログラムに慣れた方で勘の良い方はこれで理解したかと思いますが、「オプション領域」と「編集可能オプション領域」の違いは、変数がbooleanかそうでないかの違いだけです。</p>
<p>なので先ほどの「編集可能オプション領域」と同じように、こんども変数のセットを行ったら、次はその変数を実際に使う部分を作っていきます。</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(profile_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>@@( (profile_anchor) ? '<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/profile/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span>' : 'プロフィール' )@@<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(gallery_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>@@( (gallery_anchor) ? '<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span>' : 'ギャラリー' )@@<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(contact_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>@@( (contact_anchor) ? '<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span>' : 'お問い合わせ' )@@<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;@@(link_class)@@&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>@@( (link_anchor) ? '<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span>' : 'リンク' )@@<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>なにやら@@ばっかりで複雑になったようですが、落ち着いて下さい。</p>
<p>実は<strong>@@(　　　)@@この中にはJavaScriptが書ける</strong>んです。<br />
なので例えば</p>
<pre class="xml">@@( (link_anchor) ? '<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span>' : 'リンク' )@@</pre>
<p>こんなのも@@(　　　)@@の中だけに注目してみると</p>
<pre class="javascript"><span style="color: #66cc66;">&#40;</span>link_anchor<span style="color: #66cc66;">&#41;</span> ? <span style="color: #3366CC;">'&lt;a href=&quot;/link/&quot;&gt;リンク&lt;/a&gt;'</span> : <span style="color: #3366CC;">'リンク'</span></pre>
<p>こうなります。</p>
<p>こうしてみると、オプション領域の中はただの二項演算子（if 〜 elseのかっこいいやつ）で書けるということになります。</p>
<p>テンプレートを編集したら、test.htmlに戻ってみましょう。<br />
<a href="http://utweb.jp/blog/wp-content/uploads/2010/01/d8eddf5329882d76f0b5323c6fd8e79a.png"><img src="http://utweb.jp/blog/wp-content/uploads/2010/01/d8eddf5329882d76f0b5323c6fd8e79a-300x230.png" alt="さっき作った変数profile_ancher" title="さっき作った変数profile_ancher" width="300" height="230" class="alignnone size-medium wp-image-595" /></a><br />
さっき作ったばかりの変数「profile_anchor」を選択して下の「profile_anchorを表示」のチェックを外して下さい。</p>
<pre class="xml">&nbsp;
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;self&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>プロフィール<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/gallery/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>ギャラリー<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/contact/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>お問い合わせ<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>リンク<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/a<span style="font-weight: bold; color: black;">&gt;</span></span></span><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/li<span style="font-weight: bold; color: black;">&gt;</span></span></span>
&nbsp;</pre>
<p>こんな感じで、プロフィールだけアンカーが無いリストになったと思います。</p>
<h3>まとめ</h3>
<p>実は@@(　　　)@@とかJavascriptなんてものを使わなくても、最初からテンプレート編集画面で「挿入」→「テンプレートオブジェクト」から「編集可能オプション領域」や「オプション領域」を選ぶと、何かUIが現れて設定できるのですが、そっちを覚えるよりは僕はJavascriptのほうが馴染みがあるのでこっちの方法を紹介しました。<br />
とにかくテンプレート機能が見違えるくらい柔軟かつ強力になる機能には間違いないので、興味がある方でJavascriptよりはUIからの設定に自信のある方はそちらを試してみても良いと思います！</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/585/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/585" />
	</item>
		<item>
		<title>Fireworks、エラーで保存できなくなった時に試してみるファイル救済TIPS</title>
		<link>http://utweb.jp/blog/archives/552</link>
		<comments>http://utweb.jp/blog/archives/552#comments</comments>
		<pubDate>Thu, 03 Sep 2009 08:48:15 +0000</pubDate>
		<dc:creator>頼子</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[メモリ不足]]></category>
		<category><![CDATA[保存できない]]></category>
		<category><![CDATA[内部エラー]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=552</guid>
		<description><![CDATA[何かと困ったちゃんのFireworksCS4。とはいえ、なんだかんだでよく使うのは魅力的な新機能搭載の彼女だったりします。せっせとアップデートしてみたり、トラブル回避策エントリーをこまめに試してみたりと、だいぶ可愛がって [...]]]></description>
			<content:encoded><![CDATA[<p>何かと困ったちゃんのFireworksCS4。とはいえ、なんだかんだでよく使うのは魅力的な新機能搭載の彼女だったりします。<small></small>せっせとアップデートしてみたり、トラブル回避策エントリーをこまめに試してみたりと、だいぶ可愛がっている方です。<br />
なのに。<br />
ふと油断したときに限って、急に調子ががた落ちして、<br />
<strong>「要求を完了できませんでした。内部エラーが発生しました。」<br />
「データベースをレンダリングできませんでした。メモリが不足しています。」</strong><br />
なんていうエラー文とともに一切ファイルが保存できなくなってしまう時があります。</p>
<p>泣く泣く強制終了コマンドを押しながら、<br />
今までの作業よ永遠にさらば…！FW子の性格は分かってたはず…！と自分を咎める前に、最後の頼みの綱。うまく行けば万々歳のファイル救済方法です。</p>
<p><span id="more-552"></span></p>
<p><span style="color: #ff0000;"><strong>レイヤーの目玉マークをオフにする。</strong></span><br />
それだけで保存できる場合があります。</p>
<div id="attachment_559" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/09/blog_cap.jpg"><img class="size-medium wp-image-559" title="たったこれだけで、あっさり保存できたりします。" src="http://utweb.jp/blog/wp-content/uploads/2009/09/blog_cap-300x113.jpg" alt="たったこれだけで、あっさり保存できたりします。" width="300" height="113" /></a><p class="wp-caption-text">たったこれだけで、あっさり保存できたりします。</p></div>
<p>何度も消えては現れる不死身のエラーダイアログ現象や、メモリ不足と伝えるのがやっとの全面グレー画面現象でも、レイヤーが操作できるまでは我慢！みたいな感じで、あとちょっと踏ん張ってみて下さい。<br />
描画に負担かかりそうだなあと思われるレイヤーをフォルダごとオフにするのがコツです。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/552/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/552" />
	</item>
		<item>
		<title>Progressionでコンポーネントスタイルにクラスを連携させる</title>
		<link>http://utweb.jp/blog/archives/321</link>
		<comments>http://utweb.jp/blog/archives/321#comments</comments>
		<pubDate>Sun, 24 May 2009 18:32:19 +0000</pubDate>
		<dc:creator>正宗</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Progression]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://utweb.jp/blog/?p=321</guid>
		<description><![CDATA[こんにちは。最近引っ越しましたが取引先にまだ挨拶を済ませていない正宗です。前回に引き続きProgressionの話題をしたいと思います。
Progressionではスクリプトを一切使わない「コンポーネントスタイル」やタイ [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。最近引っ越しましたが取引先にまだ挨拶を済ませていない正宗です。前回に引き続き<a href="http://progression.jp/ja/" target="_blank">Progression</a>の話題をしたいと思います。</p>
<p>Progressionではスクリプトを一切使わない「コンポーネントスタイル」やタイムラインスクリプト派の「タイムラインスタイル」、クラスでわしわし書きたい人向けの「クラススタイル」など制作者のスタイルにあわせたとても柔軟な開発スタイルが用意されていますが、今回はその中でも「コンポーネントスタイル」と「クラススタイル」を連携させた開発手法についてまとめてみました。</p>
<p><span id="more-321"></span></p>
<h3>はじめに</h3>
<p>そもそも「コンポーネントスタイル」と「クラススタイル」の連携とはなんぞやという説明ですが、ひとつのサイトを作る上でデザイナーやアニメーターは「コンポーネントスタイル」を、プログラマーは「クラススタイル」をそれぞれ用いながら、同時にサイト制作を行えないかと考えてあみだした必殺技です。<br />
Progressionのようなよくできた開発フレームワークがあれば、Progressionを制作の共通言語として、開発スタイルの違いを気にせずほんとうに簡単に連携してサイト制作が行えるようになります。</p>
<p>今回はそのためのひとつの方法をうちがやってる例として紹介したいと思います。</p>
<h3>今回の例</h3>
<p>コンポーネントとクラス、それぞれのスタイルの連携といっても、ベースのスタイルをどちらにするか先ず決めなければ行けません。<br />
ページの遷移のコントロールなど、サイト全体の管理をクラスベースで行いたい場合は「クラススタイル」ベースにしておいて、ページの部品などをコンポーネントで制作していくやり方になるでしょうが、今回は「コンポーネントスタイル」をベースとして制作を行い、あるページや部分だけをクラスで開発するという方法をとってみます。</p>
<h3>Progressionプロジェクトの作成</h3>
<p><a href="http://www.flashdevelop.org/community/" target="_blank">Flashdevelop</a>と連携するため、一旦クラスベースでProgressionプロジェクトを作成します。<br />
Flashdevelopを使う予定のない場合は、そのままコンポーネントスタイルでプロジェクトを作成して、この章をすっ飛ばして読み進めてもかまいません。</p>
<p>AS3クラスを書くのにFlashDevelopが欠かせないのは僕みたいな中途半端なスクリプトコーダーには言わずもがななんですが、最初からコンポーネントスタイルでProgressionプロジェクトを作成してもFlashDevelopプロジェクトファイルも一緒に書き出せればいいんですが、どうも最初にクラスベースにしておかないとFlashDevelopプロジェクトファイルは書き出してくれないようで、だったら最初はコンポーネントスタイルにしておいて後から手作業でFlashDevelopプロジェクトファイルを作成する方法もあるのですが、いろいろと設定が面倒なので今回は「最初に一旦クラスベースで書き出しておいて、FlashDevelopプロジェクトファイルを書き出してもらってからflaファイルのほうはコンポーネントベースで制作できるようにする」ことを目的としています。</p>
<div id="attachment_323" class="wp-caption alignnone" style="width: 146px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688901.png"><img class="size-medium wp-image-323" title="Progressionプロジェクトを作成" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688901-136x300.png" alt="Progressionプロジェクトを作成" width="136" height="300" /></a><p class="wp-caption-text">Progressionプロジェクトを作成</p></div>
<p>種類を「クラス」に選んだら、ActionScriptタブの中にある「FlashDevelopプロジェクトを作成」にチェックを入れておきます。あとは「新しく作成する」ボタンで適当なフォルダにプロジェクトを作成します。</p>
<p>しばらく待つとプロジェクトが作成されてindex.flaが開くと思います。普通のクラスベースの開発でしたら、ここからそのままわしわしとクラスを書いていけばいいのですが、今回はこのプロジェクトをコンポーネントスタイルで行いたいので、そっちで制作するように変更してみましょう。</p>
<div id="attachment_324" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688902.png"><img class="size-medium wp-image-324" title="ドキュメントクラスを消します" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688902-300x292.png" alt="ドキュメントクラスを消します" width="300" height="292" /></a><p class="wp-caption-text">ドキュメントクラスを消します</p></div>
<p>Flashのステージのプロパティウインドウにドキュメントクラスっちゅうものを指定する欄があります。クラスベースでProgressionプロジェクトを作成すると、クラスでの開発が行いやすいようにとあらかじめtaka:nium先生が入れて下さっているのですが、コンポーネントスタイルの開発には必要のないものなので心は痛みますがここの項目はさくっと消しちゃいましょう。</p>
<div id="attachment_325" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688903.png"><img class="size-medium wp-image-325" title="ドキュメントクラスの設定を消します" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688903-300x292.png" alt="ドキュメントクラスの設定を消します" width="300" height="292" /></a><p class="wp-caption-text">ドキュメントクラスの設定を消します</p></div>
<p>要はFlashDevelopプロジェクトファイルを作って欲しかっただけで、利用するものは利用して必要のないものはどんどん消していくという、名付けて鬼のジゴロスタイル！</p>
<p>次にFlashメニューの「ウインドウ」→「コンポーネント」からコンポーネントウインドウを開いて、その中にある「Progression Loader」の「EasyCastingLoader」というコンポーネントを探してきて、これをステージにドラッグドロップします。</p>
<div id="attachment_326" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688904.png"><img class="size-medium wp-image-326" title="ステージ上にEasyCastingLoaderコンポーネントを置こう" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688904-300x181.png" alt="シーン上にEasyCastingLoaderコンポーネントを置こう" width="300" height="181" /></a><p class="wp-caption-text">ステージ上にEasyCastingLoaderコンポーネントを置こう</p></div>
<p>今ステージ上に置いたEasyCastingLoaderを選択した状態で、Flashメニューの「ウインドウ」→「コンポーネントインスペクタ」からコンポーネントインスペクタウインドウを開きます。EasyCastingLoaderの設定画面が出てくると思うので、ここの「url」の欄に「easycasting.xml」と書き込んでおきましょう。</p>
<div id="attachment_337" class="wp-caption alignnone" style="width: 160px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688905.png"><img class="size-thumbnail wp-image-337" title="urlのところにeasycasting.xmlと書く" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e38397e383ade382b8e382a7e382afe38388e381aee4bd9ce688905-150x150.png" alt="urlのところにeasycasting.xmlと書く" width="150" height="150" /></a><p class="wp-caption-text">urlのところにeasycasting.xmlと書く</p></div>
<p>これで「クラスもところどころで書きたいのでFlashDevelopプロジェクトも作りつつコンポーネントスタイルメインで制作を行う」準備が整いました。</p>
<h3>Progressionシーンエディタの活用</h3>
<p>あとはコンポーネントスタイルで気楽に制作に取りかかりましょう。<br />
Flashメニューの「ウインドウ」→「他のパネル」→「Progression シーンエディタ」でシーンエディタを開きます。</p>
<div id="attachment_327" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf1.png"><img class="size-medium wp-image-327" title="気楽に、ってこのサイト気ぬきすぎです" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf1-300x202.png" alt="気楽に、ってこのサイト気ぬきすぎです" width="300" height="202" /></a><p class="wp-caption-text">気楽に、ってこのサイト気ぬきすぎです</p></div>
<p>シーンエディタの詳しい使い方は<a href="http://progression.jp/ja/doc/tutorial/component/#item-scene" target="_blank">Progression公式ページのドキュメント、コンポーネントスタイルガイドの「シーンを作成する」</a>などを参考にしてみて下さい。<br />
シーンは「舞台」、キャストは「役者」など昔なつかしいFlashの概念を踏襲してて、ほとんど直感的に扱えると思います。</p>
<p>ちなみにシーンエディタでは、Flashで言うところのレイヤーの重なりと同じ概念としてキャストに「index」という数字を設定できます。<br />
これは数字が大きい方が前面に重なるものなので、サイトロゴやグローバルメニューなど常に前面に表示しておきたいキャストはこの「index」の数字を大きい数字にしておくと良いです。<br />
ただし「index」がゼロの場合だけは特別で、ここをゼロに設定しておくと常に一番前面に表示されるようです。<br />
もう、何が何でも絶対に表示されてないといけないキャストは（あ、それこそサイトロゴとか）ここをゼロに設定する方法も考えてみても良いでしょう。</p>
<p>ちなみにシーンエディタの「書き出し」→「キャストをシンボルとして書き出す」をするとよくわかるんですが、コンポーネントスタイルでのキャストというのは要はムービークリップの事です。<br />
ここらへんもよくできていて、今まで培ったムービークリップの技術を捨てることなく誰でも今日からでもProgressionを使用してサイト制作を容易にするための工夫が随所にちりばめられています。</p>
<div id="attachment_328" class="wp-caption alignnone" style="width: 310px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf2.png"><img class="size-medium wp-image-328" title="キャストをシンボルとして書き出す" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf2-300x129.png" alt="e382b7e383bce383b3e382a8e38387e382a3e382bf2" width="300" height="129" /></a><p class="wp-caption-text">キャストをシンボルとして書き出す</p></div>
<p>さっきからProgressionべたぼめで自分でも気持ち悪いですが、いやほんと使えば使うほどよくできてます。</p>
<p>最後にシーンエディタ上の「ファイル」→「名前をつけて保存」から（Flashメニューではなくシーンエディタのメニューです）今回のProgressionプロジェクトで作成したフォルダにある「deploy」というフォルダの中に「easycasting.xml」という名前でファイルを保存すれば完成です。</p>
<div id="attachment_329" class="wp-caption alignnone" style="width: 160px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf3.png"><img class="size-thumbnail wp-image-329" title="easycasting.xmlという名前でdeployフォルダに保存" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e382b7e383bce383b3e382a8e38387e382a3e382bf3-150x150.png" alt="easycasting.xmlという名前でdeployフォルダに保存" width="150" height="150" /></a><p class="wp-caption-text">easycasting.xmlという名前でdeployフォルダに保存</p></div>
<h3>あとは各ページを作っていくだけ！</h3>
<p>基本的にあとはコンポーネントスタイルで制作していくだけなので、<a href="http://progression.jp/ja/doc/tutorial/component/" target="_blank">Progressionコンポーネントスタイルガイド</a>などを参考に、本当にActionScriptを一行も書かずにフルFlashサイトが出来てしまいます。</p>
<p>Progressionのバージョンが2と少し古いですが（現在のProgressionのバージョンは3）FlashPowerSessionでもお世話になっている<a href="http://www.dragon-ball.in/" target="_blank">琉球インクさん</a>の松竹さんがAdobeデベロッパーセンターに書かれた<a href="http://www.adobe.com/jp/devnet/flash/articles/progression_framework2.html" target="_blank">Progression Framework 2　初級編：ActionScriptを書かずにFlashサイトを簡単に構築する</a>という記事も参考になります。</p>
<p>繰り返しになりますがとにかくコンポーネントスタイルで制作すれば、ActionScriptの事なんか一行も考えずにページが出来ていくようになります（もちろんActionScriptを書いても良いです）。</p>
<h3>でも特定のページはクラスで書きたい</h3>
<p>いちおう今回の記事のヤマですが、他のページはコンポーネントだけで作りたいけどある特定のページだけはクラスで作っていきたい場合があります。</p>
<p>基本的にはただのクラスの継承なので、そもそもクラスベースで開発したい方にとっては当たり前すぎて有用な情報ではないのですが、まとめておきたいと思います。</p>
<p>例えば今回参考にしたシーンの中で「BbsPage」だけはクラスで作りたい場合、プロジェクトの中にBbsPageというクラスを作っておきます。今回はsrcフォルダの中に「myproject」フォルダを作り、さらにその中に「pages」というフォルダを作ってそこにクラスファイルを作成しました。<br />
（蛇足ですが僕はクラスベースで開発するときはSceneObjectクラスは「scenes」フォルダ、そのSceneObjectから直接読み込まれるCastなにがしクラスは「pages」フォルダを作りそれぞれその中に入れるようにしています）</p>
<div id="attachment_330" class="wp-caption alignnone" style="width: 160px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e382afe383a9e382b91.png"><img class="size-thumbnail wp-image-330" title="BbsPageクラスを作っておく" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e382afe383a9e382b91-150x150.png" alt="BbsPageクラスを作っておく" width="150" height="150" /></a><p class="wp-caption-text">BbsPageクラスを作っておく</p></div>
<p>クラスファイルの中身は、こんな感じでCastSpriteやSctMovieClipなどを継承しておけば、_onCastAddedや_onCastRemovedイベントも受け取ることが出来るのでとても便利です。</p>
<pre class="actionscript">package myproject.<span style="color: #006600;">pages</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">casts</span>.<span style="color: #006600;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">loader</span>.<span style="color: #006600;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">scenes</span>.<span style="color: #006600;">*</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 *
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BbsPage <span style="color: #0066CC;">extends</span> CastSprite
	<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * コンストラクタ
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> BbsPage<span style="color: #66cc66;">&#40;</span> initObject:<span style="color: #0066CC;">Object</span> = <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span> initObject <span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> p:Progression = <span style="color: #000000; font-weight: bold;">new</span> Progression<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;contact&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> g:Graphics = graphics;
&nbsp;
			g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xFF0000<span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, p.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>, p.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span><span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			alpha = <span style="color: #cc66cc;">0</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * ICastObject オブジェクトが AddChild コマンド、または AddChildAt コマンド経由でディスプレイリストに追加された場合に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */</span>
		protected override <span style="color: #000000; font-weight: bold;">function</span> _onCastAdded<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// 実行したいコマンドを登録します。</span>
			addCommand<span style="color: #66cc66;">&#40;</span>
				<span style="color: #808080; font-style: italic;">// 任意のコマンドを記述してください。</span>
				<span style="color: #000000; font-weight: bold;">new</span> DoTweener<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, <span style="color: #66cc66;">&#123;</span> alpha:<span style="color: #cc66cc;">1</span>, <span style="color: #0066CC;">time</span>:<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * ICastObject オブジェクトが RemoveChild コマンド、または RemoveAllChild コマンド経由でディスプレイリストから削除された場合に送出されます。
		 * このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
		 */</span>
		protected override <span style="color: #000000; font-weight: bold;">function</span> _onCastRemoved<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// 実行したいコマンドを登録します。</span>
			addCommand<span style="color: #66cc66;">&#40;</span>
				<span style="color: #808080; font-style: italic;">// 任意のコマンドを記述してください。</span>
				<span style="color: #000000; font-weight: bold;">new</span> DoTweener<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, <span style="color: #66cc66;">&#123;</span> alpha:<span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">time</span>:<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>あとはFlash上のライブラリウインドウから「BbsPage」インスタンスのプロパティを選択して、継承するクラス（基本クラス）を「myproject.pages.BbsPage」と書き換えてやるだけで、本当に簡単にコンポーネントスタイルと連携を取ることができるようになります。</p>
<div id="attachment_332" class="wp-caption alignnone" style="width: 160px"><a href="http://utweb.jp/blog/wp-content/uploads/2009/05/e382afe383a9e382b92.png"><img class="size-thumbnail wp-image-332" title="基本クラスを自分の作ったクラスファイルに書き換えるだけ" src="http://utweb.jp/blog/wp-content/uploads/2009/05/e382afe383a9e382b92-150x150.png" alt="基本クラスを自分の作ったクラスファイルに書き換えるだけ" width="150" height="150" /></a><p class="wp-caption-text">基本クラスを自分の作ったクラスファイルに書き換えるだけ</p></div>
<h3>まとめ</h3>
<p>デザイナーとプログラマーの連携以外にも、「Progressionコンポーネントスタイルはマスターして次はクラスベースにも挑戦したいけど全部をクラスにするにはまだ難しくて敷居が高い」方も、こうしておくと基本はコンポーネントスタイル作っていって、特定のページだけクラスに挑戦することも出来るので非常にお勧めです。</p>
<p>うちでは普段はProgressionで制作するときは先ずクラスベースで作っておいて、ボタンなどちょっとした部品はコンポーネントを併用することの方が多いですが、今回まずデザインやアニメーションありきの案件の場合コンポーネントメインで作っておいて、ある特定のページだけ高度なことをしたかったのでクラスと連携させる方法を探ってみました。結果としてProgressionの_onCastAdded便利なCommand環境を捨てることなくすんなりとコンポーネントスタイルに組み込むことが出来たので制作スタイルの幅がよりいっそう広がったと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://utweb.jp/blog/archives/321/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://utweb.jp/blog/archives/321" />
	</item>
	</channel>
</rss>

