プラグイン前提のテンプレートでいいのか? 現在株式会社ブレイドではMT4及びMTOSに対応した汎用的なテンプレートセットの開発を進行中でして、これを広く一般公開したいなあと考えています。 そんな時に問...

produced by Blades co.,ltd.



Entry Detail

Rating ---

  • 1
  • 2
  • 3
  • 4
  • 1

MTプラグインのインストールの有無をテンプレート内で判別する

プラグイン前提のテンプレートでいいのか?

現在株式会社ブレイドではMT4及びMTOSに対応した汎用的なテンプレートセットの開発を進行中でして、これを広く一般公開したいなあと考えています。

そんな時に問題になるのがプラグインの存在です。便利なプラグインは積極的に使用したいけど、そのインストールを前提としてしまうと汎用性が無くなってしまう・・・。ならば、プラグインのインストールの有無によって処理を分岐してはどうだろうか?

思い立ったらすぐ実践です。


PageButeプラグインを使いたい

今回テンプレートセットを開発するにあたり、どうしても導入したかったプラグインが株式会社スカイアークシステム様で開発されたPageButeプラグインです。このプラグインはページを静的に分割生成するという機能を提供してくれます。


MTIfNonEmptyによる判別

今回の実験のポイントは次の二つです。

  1. PageButeプラグインのインストールの有無をテンプレート内で判別する。
  2. 1.の結果によって処理を分岐する。

この二つが実現すれば、「PageButeプラグインがインストールされている環境ではPageButeの機能を利用してページ分割を行い、PageButeがインストールされていない環境ではページ分割を行わない」という処理ができそうです。

さて、条件判別をするMTタグの一つに、MTIfNonEmptyがあります。これはtagモディファイアで指定されたMTタグで取得されるデータが空かどうかを判別します。どうもこいつが使えそうな気がしますが、指定したMTタグ自体が存在しない場合はどうなるのか・・・ちょっと実験してみましょう。

PageButeプラグインではMTPageContentsというタグが使用できますので、こいつを条件判別に使います。以下のような処理を任意のテンプレートに追加します。

<MTIfNonEmpty tag="PageContents">
<p>PageButeプラグインがインストールされています。</p>
<MTElse>
<p>PageButeプラグインはインストールされていません。</p>
</MTElse>
</MTIfNonEmpty>

さあ、この処理の結果はこうなりました。↓

PageButeプラグインが無い場合
PageButeプラグインが無い場合

PageButeプラグインが有る場合
PageButeプラグインが有る場合

!上手く処理されましたヽ( ´?`)ノ

どうやらMTIfNonEmptyでは指定されたMTタグ自体が存在しない場合でもエラーを返さないようですね。

このテクニックを使えば、テンプレートセットの設計にあまり悩まなくてもよさそうです。公開をお楽しみにしてください。


Comments(0)

お気軽にコメントまたは評価を投稿してください。

お名前とE-mailアドレスをご入力の上、コメント本文または評価を入力してください。※E-mailアドレスは掲載されません。

Trackbacks(0)

お気軽にトラックバックしてください。

Monthly Archives


Category Archives



About Blades LAB

知的好奇心探究サイト 先端研究ブレイドLAB

先端研究ブレイドLABは、株式会社ブレイドが自社で開発したサービス・製品について紹介するサイトです。社員が興味を持った技術を駆使してサービス・製品へと昇華し、広く世間に対して公表することで、技術ノウハウを共有することを目指します。

また、2009年度まで運営していたMT/CMSブログを統合し、WEBに関する最先端の技術トピックスも紹介しております。


Project Blog!

本記事の連載は終了いたしました。

プロジェクトブログ

Blades.co.,ltd. WEB CM

ムービーを再生する

株式会社ブレイド設立2周年を記念して制作したWEB限定CMです。Adobe After Effects CS3で制作しました。
※CM中の企業ロゴは旧ロゴです。

ムービーを再生する