コラム
【実装者・開発者向け】エクステンションの説明
エクステンションとは
エクステンションはHeartCore CMSのもつ関数機能の一つで、独自に@関数を作成することができるような機能です。
独自にカスタマイズするだけでなくインストール時点ですぐに使用可能な内蔵エクステンションも存在します。
今回は内蔵エクステンションについて紹介します。
エクステンションの使い方
エクステンションの基本的には以下になります。
@@@extension:{NAME}(引数)@@@
{NAME}や引数は利用するextensionによって変化します。
内蔵エクステンションの紹介
いくつか使用頻度の多い内蔵エクステンションを紹介してみます。
1. 数値を扱いたいときに便利なcalculate
基本構文
@@@extension:calculate(EXPRESSION:DECIMALS)@@@
使用例
@@@extension:calculate((1+2)*3+(5/10):2)@@@
出力結果
9.50
2. 日付を扱いたいときに便利なdate
基本構文
@@@extension:date(DATE,FORMAT)@@@
使用例
@@@extension:date(1999-12-13,%B)@@@
出力結果
December
エクステンションの実行順序について
@@@extension:.....@@@は通常他の@関数よりも後に実行されます。
そのため今後別記事で紹介予定の条件に応じて表示するコンテンツを変更することが可能なcondition関数で、
@@@condition:checkDate:if:(@@@extension:calculate(2*5)@@@=10)@@@
のようなネスト構造の文を書いた場合正しく処理されません。
処理としてconditionが先に処理、その後エクステンションが処理されるため条件分岐がうまく動作しなくなります。
このような場合@@@_extension:calculate(2*5)@@@のように「_(アンダーバー)」を先頭につけてみることで解決します。
「_(アンダーバー)」を先頭につけることで実行順序が変更され、ネスト構造の文でエクステンションを実行可能になります。
最後に
内蔵エクステンションを使うことで、数値の計算や日付フォーマット変換などが利用できるようになります。
今回紹介した以外にもいくつか内蔵エクステンションは存在するためぜひ使ってみてください。
今後独自に機能を作って呼び出すことのできるカスタムエクステンションの紹介も行うためそちらも参考にしてみてください。