Movable Type 備忘録

 自分専用の環境変数を定義する

  • Sep292008
  • Vote:
    http://bizcaz.com/archives/2008/09/29-222213.php
  • Categories: Customize
  • Tags: ,
  • Social Bookmark

こんばんわ^^

遅ればせながら、今日会社の人から『萌え系あきたこまち』というものの存在を知りました (; ̄∇ ̄A

お米のブランドの「あきたこまち」のイラストを萌え系にしたものなんだとか。
既に販売もされてるようですが・・・スーパーに買い物に行ってるわたしですが・・・お初でした(; ̄- ̄)けっこう人気らしいです。

さて、タイトルの通り自分専用の環境変数を定義するカスタマイズのご紹介です。
Movable Type の環境変数といえば、CGIPath やら StaticWebPath など見覚えあるかと思いますが、mt-config.cgi に記述する変数ですね。

この環境変数はシステム全体に影響するものですが、わたしのサイトではわたし専用の環境変数ってのを定義してみました。

カスタマイズ

作り方はカンタンで、各自のテンプレートセット中に以下のようなコードを追加すれば ONLY ONE な環境変数を定義することができます。

テンプレートセット内に記述

  1. config_settings:
  2.     JavaScriptFrameWork:
  3.         default: prototype
  4.     EnableFiveStarRating:
  5.         default: 1
  6.     EnablePageAccesRanking:
  7.         default: 1
  8.     EnableCacheModule:
  9.         default: 1
  10.     CacheModuleTTL:
  11.         default: 600

上記例はわたしのサイトで定義してる環境変数でして、以下のような変数を定義しました。

  • JavaScriptFrameWork

    JavaScript フレームワークを prototype か jQuery のいずれかを選択可能とします。デフォルトは prototype になります。

  • EnableFiveStarRating

    Five Star Rating( 投票 )機能の有効/無効を指定します。デフォルトは有効( 1 )です。

  • EnablePageAccesRanking

    ページアクセスランキング機能の有効/無効を指定します。デフォルトは有効( 1 )です。

  • EnableCacheModule

    テンプレートモジュールをキャッシュありで再構築するか否かを指定します。デフォルトはキャッシュあり( 1 )になります。

  • CacheModuleTTL

    EnableCacheModule 環境変数でキャッシュありにした場合の、キャッシュ有効時間を指定します。デフォルトは 10 分になります。

というかんじで、mt-config.cgi 内に追記することですべてのブログで利用可能になります。ただし、ここまではただ mt-config.cgi 内で独自の環境変数を有効とするだけでテンプレート内で使用することはできません。
ここから更にタグとして参照できるようにするには、テンプレートセット内に以下のコードを追加する必要があります。

タグとして利用する

  1. tags:
  2.     block:
  3.         IfFiveStarRating: $mt_memo::mt_memo::Plugin::tag_IfFiveStarRating
  4.         IfPageAccesRanking: $mt_memo::mt_memo::Plugin::tag_IfPageAccesRanking
  5.         JavaScriptFrameWork: $mt_memo::mt_memo::Plugin::tag_JavaScriptFrameWork
  6.     function:
  7.         EnableCacheModule: $mt_memo::mt_memo::Plugin::tag_EnableCacheModule
  8.         CacheModuleTTL: $mt_memo::mt_memo::Plugin::tag_CacheModuleTTL

上記定義は、先ほどご紹介した環境変数を参照する為のタグになります。

  • ブロックタグ

    • MTIfFiveStarRating( 環境変数:EnableFiveStarRating )
      EnableFiveStarRating が有効( 1 )のときだけ実行するブロックタグ
    • MTIfPageAccesRanking( 環境変数:EnablePageAccesRanking )
      EnablePageAccesRanking が有効( 1 )のときだけ実行するブロックタグ
    • MTJavaScriptFrameWork( 環境変数:JavaScriptFrameWork )
      name モディファイで 'prototype' or 'jquery' をチェックして合致したときだけ実行するブロックタグ
  • ファンクションタグ

    • MTEnableCacheModule( 環境変数:EnableCacheModule )
      EnableCacheModule が有効( 1 )か無効( 0 )を取得するファンクションタグです。
    • MTCacheModuleTTL( 環境変数:CacheModuleTTL )
      CacheModuleTTL で設定されたキャッシュの有効時間( 秒 )を取得するファンクションタグです。

で、後は上記タグに対するハンドラを定義するだけなのですが、プラグインを作ったことがない人にとってはそれが一番ムズかしいんですよね。分かります、その気持ち (; ̄∇ ̄A
なので、テンプレートセットに追加する、環境変数のサンプルとしてサーバに置いておきますので参考にしてください。
分からないところは聞いていただけたらと思います。またはこんな環境変数を定義したい・・・という旨伝えていただければお作りします。( ただし、手間が掛かるものはお断りします )

可能な限りプラグインの作り方をお教えますので、これを機会に作ってみてはどうでしょ ( ̄∇ ̄)b

テンプレートセット 余談ですが、上記はシステム全体で有効な環境変数の定義ですが、わたし用のテンプレートセットではブログ個別のコンフィグ情報として右図のような設定を可能としてます。
テンプレートセットでこんなことも可能なんです。これについては後日、このサイトで配布する MT4.2 用のテンプレートセットには組み込んでおこうと思ってます。

ご参考まで。

 Trackback Pings(0)

No trackbacks found.

 Comments(2)

#1: Posted by 倫子 @ October 1, 2008 [REPLY]
user-pic

めっきり寒いけど、元気かな?
うぉ~~~(;´▽`A``
萌え系あきたこまちぃ~!
濃い、見ているだけで気恥ずかしいかも;;;
気分的に甘~く炊き上がりそうな感じがするねヾ(・ε・。)ォィ

#2: Posted by Author Profile Page bzbellから倫子への返信 @ October 1, 2008 [REPLY]
user-pic

>>1 倫子 さん

こんばんわ^^

ホント寒くなりましたね。
わたし体調崩しちゃったみたいでちょと元気ないんですガーン
倫子 さんも気をつけて。
> 濃い、見ているだけで気恥ずかしいかも;;;
若者をターゲットとしてるようだけど、ここでいう若者ってまさか 10 代じゃないですよねあせあせ
若者の部類に入れてしまうとおこがましいですが、少なくともわたしたちには何の魅力もなかったとキャハハ

でも、イラストレーターさんはけっこうメジャーな人のようです。ウィキペディアにも記録されてました。
http://ja.wikipedia.org/wiki/西又葵

 Post a Comment

 

コメント用フィード