a-blog cms のカスタムフィールドをグローバル変数化してフォームを切替える

久しぶりに仕事ネタです。忘れない様にメモしておきます。
a-blog cms でカスタムフィールドの値をグローバル変数化する方法です。今回はブログのカスタムフィールドで、送信フォームの公開・非公開を実装する為にこの機能を利用しました。
これ何が便利かというと、カスタムフィールドをグローバル変数化する事で、インクルードする時にカスタムフィールドの値を利用出来ます。という事は、設定した値によって、インクルードするファイルを切り分けらるという事になります。そう、インクルード先のファイルにフォームを仕込む事で簡単に実装出来てしまう訳です。

1)config.server.phpの内の記述を「define('HOOK_ENABLE', 1);」に変更

2)同梱の「omake/php/ACMS/User/」から「Hook.php」をコピー

3)HOOK.phpの下記を変更(今回はブログのカスタムフィールド用)


public function extendsGlobalVars($globalVars)
{
    if( BID ){
          $Field = loadBlogField(BID);
          $globalVars->setField('グローバル変数名',$Field->get('カスタムフィールドの変数名') );
    }
}

ちなみにエントリーのカスタムフィールドの場合は、上記コードの該当箇所を下記の様に書き換えれば使えるはずです。

・BID → EID
・loadBlogField → loadEntryField

カテゴリーなら、、、想像はつきますが試してはいません。
で、最終的に下記の様にするとインクルードファイルを設定した値で分けられるという訳です。


<!--#include file="/include/entry/%{グローバル変数名}_inc.html-->

今回の様な事で、例えばフォームの受付開始・受付終了なんて事をカスタムフィールドで切替えたり出来る様になります。便利ですね。


関連記事

この記事のハッシュタグ から関連する記事を表示しています。

a-blog cmsでUTF-8の絵文字対応(CPI ACE01)

a-blog cms のフォームで、全角ひらがな・全角カタカナを入力チェックする方法

a-blog cmsのスマホ表示で縮小された(拡大画像がない)画像を別ウィンドウで開く方法

a-blog cmsでクリッカブルマップでもprettyPhotoを使う方法

a-blog cms ver2.5の新機能「ルールでモジュールIDを切り替える」を使い、表示件数を変更した際にブロック要素の高さを揃える方法

ブログのバージョンアップ

最新記事

カテゴリー

アーカイブ

ハッシュタグ