[MT備忘録]変数設定(SetVar, SetVarBlock系)をコンパクトに書くためのメモ

【setvarモディファイア】単独のブロックタグ内の内容を変数としてセットする場合は、これがコンパクト

<!-- set [this_content] -->
<mt:SetVarBlock name="this_content">
<mt:Pages tag="@home" lastn="1">
 <h1 id="page-title"><$mt:PageTitle$></h1>
 <$mt:PageBody$>
</mt:Pages>
</mt:SetVarBlock>

↓と書く替わりに、こう書く↓

<!-- set [this_content] -->
<mt:Pages tag="@home" lastn="1" setvar="this_content">
  <h1 id="page-title"><$mt:PageTitle$></h1>
  <$mt:PageBody$>
</mt:Pages>

→setvar
http://www.movabletype.jp/documentation/appendices/modifiers/setvar.html

【mt:SetVars】可読性よいvar_name=value形式で、変数を一括設定

<!-- set [body_id], [is_sidebar], [this_title], [site_id] -->
<$mt:SetVar name="body_id" value="home"$>
<$mt:SetVar name="is_sidebar" value="yes"$>
<$mt:SetVar name="this_title" value="HOME"$>
<mt:SetVarBlock name="site_id"><$mt:WebsiteID$></mt:SetVarBlock>

と書く替わりに、

<!-- set [body_id], [is_sidebar], [this_title], [site_id] -->
<mt:SetVars>
  body_id=home
  is_sidebar=yes
  this_title=HOME
  site_id=<$mt:WebsiteID$>
</mt:SetVars>

→複数の変数をまとめて設定できる MTSetVars タグ
http://www.movabletype.jp/blog/mtsetvars.html

→MTSetVars
http://www.movabletype.jp/documentation/appendices/tags/setvars.html&lt;!– set [body_id], [is_sidebar], [this_title], [site_id] –>

広告

Google Analyticsの新しいトラッキングコード(非同期トラッキングコードスニペット)の設置方法メモ

12月7日付けのAnalytics日本語版公式ブログによれば、Google Analyticsの新しいトラッキング方法として、非同期トラッキングコードスニペットが提供されたらしい。

Google Analytics のトラッキングコードが新しくなりました
http://code.google.com/intl/ja/apis/analytics/docs/tracking/asyncTracking.html

新しい非同期トラッキングコードは、他のJavaScript コードの読み込みが完了しなくても正常にロードできるため、HTMLファイル内の head セクション内に記述することが可能です。

機能的には従来のga.js トラッキングコードと同等。違いはhead要素内に記述可能になったことで、このため、ページの読み込みに時間がかかったり、離脱したセッションを正確に計測できないという不都合が解消される。

コードは管理画面からではなく手動で取得するらしく、

Google Code の Asynchronous Tracking(英語)
http://code.google.com/intl/ja/apis/analytics/docs/tracking/asyncTracking.html

を参照とのことだったので、設置方法などをざっとメモしておく。

The Snippet設置方法


<script type="text/javascript">var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
})();</script>

  • まず、従来のトラッキングコードを削除する。【重要】従来のコードと、新しいコードを混在させてはいけない。
  • 上記コードをコピーしてUA-XXXXX-X 部分を自サイト用のIDに置き換えたものを、</head>の直前に記述する。
  • 非同期処理が、同じページ内の他のscriptに影響を及ぼすのを避けるには、それら他scriptを、<head>要素内のGAコードより前か、あるいは、</body>直前(GAコードや全コンテンツの後ろ)に置く。それが無理な場合は、GAコードの方を</body>直前に配置((function()より前の部分はhead内に残すこともできる)。
  • e コマース レポートや複数ドメイン用のカスタマイズ、イベント トラッキング等でオプションの関数を導入している場合などは、変更が必要なのでAPIのリファレンスを読め、と ^^:。

[MT5備忘録]親サイトのテンプレートモジュールをincludeする

MT5におけるウェブサイトと、配下のブログの関係をボチボチお勉強

Website-A
  ├Blog-A1
  └Blog-A2

こんな構成になっているとしたとき、

子ブログBlog-A1から、Website-Aのテンプレートモジュールをincludeするには以下のように書く

<mt:BlogParentWebsite>
<$mt:WebsiteID setvar="website_id"$>
</mt:BlogParentWebsite>

<$mt:Include module="※モジュール名※" blog_id="$website_id"$>

[確認用]website_id: <$mt:GetVar name="website_id"$>

note:

  • 自分の親なのに、わざわざWebsiteIDを与えてモジュールをインクルードする必要がある。
  • blog_idを指定しない場合、自ブログ内に指定したモジュールがなければ、(親ウェブサイトは探さず)グローバルテンプレートモジュールからインクルードされる。
  • スカイアークシステムさんの「ParentalInclude」プラグインを使うと、<$MTParentalinclude module=”モジュール名”$> で親サイトのモジュールをインクルード指定できるようになるらしい。※私の環境ではうまく動かなかったが、今後に期待。

モジュール内に書いたWebsiteIDってどうなるんだっけ?

BlogA-1のテンプレ

1. 子ブログ内でいきなりmt:WebsiteID:<$mt:WebsiteID$><br />

<mt:BlogParentWebsite><$mt:WebsiteID setvar="website_id">
  2. 子ブログ内mtBlogParentWebsiteブロックタグの中でMTWebsiteID: <$mt:WebsiteID$><br />
  3. 子ブログ内mtBlogParentWebsiteブロックタグの中で親サイトのテンプレートモジュール呼び出し
    (その中でmt:WebsiteID):<$mt:Include module="WS-module" blog_id="$website_id"$><br />
</mt:BlogParentWebsite>

4. 子ブログ内mtBlogParentWebsiteブロックタグの外で親サイトのテンプレートモジュール呼び出し(その中でmt:WebsiteID):
     <$mt:Include module="WS-module" blog_id="$website_id"$><br />

Website-A内のテンプレートモジュール(WS-module)

<$mt:WebsiteID$>

結果

1.子ブログ内でいきなりmt:WebsiteID:0 -> NG
2. 子ブログ内mtBlogParentWebsiteブロックタグの中でMTWebsiteID: 1 -> OK
3. 子ブログ内mtBlogParentWebsiteブロックタグの中で親サイトのテンプレートモジュール呼び出し
   (その中でmt:WebsiteID):1 -> OK
4. 子ブログ内mtBlogParentWebsiteブロックタグの外で親サイトのテンプレートモジュール呼び出し
  (その中でmt:WebsiteID):0 -> NG

SUBARUの2010年カレンダー

今日はインプレッサの6ヶ月点検とタイヤ交換に東京スバルの恵比寿店に。帰りに来年のカレンダーを貰ってきた。

インプレッサに乗り出して以来、毎年WRC シリーズのスバルのカレンダーを愛用していたのだが、来年のを開いてみたらラリーものから、普通にスバル取扱車種がこぎれいな風景写真に収まっているデザインに変わっていて正直ガッカリした。

WRCもここ数年は勝てないソルベルグの写真ばかりで多少の倦怠感はありましたけどね、それでも壁に飾って1年間愛スバル心を感じるには十分だったのになぁ。来年のカレンダーったらなんかスバルらしさが全然なくて、トヨタでもダイハツでもどうでもいい「ただで貰ったカレンダー」の一つって感じー。ホントつまんない。WRCから撤退したからってコレはないよなー。新井さんとかアルアティヤーのじゃダメなのかしらん?!”走り”にこだわるギラギラしたところを見せないスバルなんてただの弱小メーカーじゃん?と、あまりにカレンダーがつまらないので余計なことまで考えてしまった。

プロボノ イベントに参加しました

ラフォーレミュージアム原宿で行われたプロボノ イベントに参加、同時に設営と撤収ボランティアスタッフとしても参加してきました。

HELLO, PRO BONO ~知的で新しい、スキル・ボランティア、上陸。~
http://svgt.jp/probono/

ボランティアの様子

朝8:45設営ボランティア集合。

早起きがとてもとても苦手で、特に土日は昼近くまで寝ている私ゆえ、遅刻しないように起きられるかが第1関門だった。もうね、3日前ぐらいから結構緊張して就寝時刻を前倒ししたり、寝る前にゆっくりお風呂につかって疲れを取るようにしたりしたの。普通に起きられる人から見たら可笑しいですよね。でも努力の甲斐あって。。。ちゃんと間に合いました(大爆笑)。もしかしたら私的にはこれが今日一番の手柄かもしれない。

お昼はスタッフエリアでお弁当を食べながら、他のボランティアの人たちと、普段の活動のことやなぜ今回のボランティアに応募したかなど話したりしました。大学生ボランティアも何人かおり、それぞれ自分に引き付けて取り組んでいる様子が聞けて刺激になった。同時に、普段何も考えずにのらりくらりと生活している自分がちょっと恥ずかしかったかも。

イベントの様子

ゲストトーカーの知花くららさん。

TVや雑誌でよく見かける元ミス・ユニバースのきれな人という印象しかなかったのですが、元もと社会貢献的なことがしたくてミス・ユニバースに応募したとのこと。今も”高知名度ゆえにできる役割がある”と活動されているそうです。頭脳明晰な上にパッションを感じる人だった。とても素敵な方です。

各セッションで印象に残ったこと

NPO側から見たプロボノの意味や関わり方の様子をNPO法人マドレボニータ(産後ケア)の吉岡マコさん、NPO法人フローレンス(病児保育)の岡本佳美さんからのレポート。

育休中の会員ママ達がスキルを生かしていわば組織内プロボノ的なアプローチで産後白書プロジェクトを進めた話。

持続的な活動のために、最初に事業モデルをきちんと決めた。その過程をコンサルティングファームがサポート。ファイナンスのプロが専任担当+残業時間の一部を使って参加して手助けしたそうだ。

NPOは自身が立ち向かっている社会問題があり、それに関しての専門性は高い。他方で法律とかわからないこともたくさんあり、そうしたことをプロボノによる専門スキルをもった自律的な(プロマネ機能)チームがサポートするのがとても助かるとおっしゃっていた。

OK Waveの兼元さん。
最初、「え?OK Waveがなんでプロボノと関係あるの?」と思ったのだが、回答者の方達のしていることはまさに自分のスキルを生かした貢献。化学、保険、英語のプロフェッショナルを生かした回答者の方が出てきて思いを話してくれた。

ワークショップ

知らない人と話をするのが、早起きと同程度に憂鬱で苦手です。なので「次はワークショップ」と聞いただけで、トイレのふりして席を立とうかと思った位なのだけど、結果的には立たないでヨカッタし、短時間でも非常に興味深いものだったw

今回のワークショップは、まず各自が自分の職種、何ができるか(スキル)、もしプロボノするとしたら週何時間・年間何時間ぐらい参加できそうかをメモ。その後、近くの6名1グループになって貢献時間を集計しつつ、どんなスキルで貢献できそうかとか話をした。普段Web関連のイベントにしかでないので、異業種の方とこういう話をする機会が得られていろいろ気づきがあった。

イベントを通して感じたこと。

まず、対外的に自分が提供できるスキルって何だろう?と見直す良い機会になった。会社の中だけにいると、なんとなく仕事をこなせているように見えるが、いざ個人として何かのチームに入ってやろうとしたときこんな中途半端な知識やスキルじゃ心許ないなーと。

また、今まで「社会こーけん」とか「NPO/NGOの活動」とかいうとエコとか貧困とかすごく概念的なキーワードで捕らえていて、いきなりそんな凄い貢献は「私には無理むり」と腰が引けていたのだけど、実にいろんなテーマのNPO活動があることに驚いた。

今後も意識的に何かできることを見つけて参加していきたいと思った。