店内からのアクセスがあった時のみ表示させるタッチモジュール ( Touch_Ip )
ベースキャンプ名古屋のサイトで、会員紹介のコンテンツを用意し店内からのアクセスの時にだけ表示させたいという要望が出てきました。最近できた IFブロック ではテンプレート上に $_SERVER['REMOTE_ADDR'] の中身(アクセスしてきている人のIPアドレス)を表示させる事ができないので、今回はオリジナルのタッチモジュールを作っての対応する事になります。
GETモジュール
作るべきGETモジュール Touch_Ip は、ユーザーの作る GETモジュールなので /php/ACMS/User/GET/ に作る事になります。他のタッチモジュールと同じ感じになるように Touchディレクトリに Ip.php というファイルを作ります。 **店舗のIPアドレスを指定** の部分はIPアドレスに書き換える事。
- /php/ACMS/User/GET/Touch/Ip.php
<?php /** * ACMS_User_GET_Touch_Ip */ class ACMS_User_GET_Touch_Ip extends ACMS_GET { function get() { return ($_SERVER['REMOTE_ADDR'] == '**店舗のIPアドレスを指定**') ? $this->tpl : ''; } }
テンプレート
テンプレートは、以下のように、表示させたいコンテンツを囲むように記述します。
<!-- BEGIN_MODULE Touch_Ip --> (表示させたいコンテンツ) <!-- END_MODULE Touch_Ip -->
また、逆の Touch_NotIp というのも一緒に作っておくと便利かもしれません。また、キャッシュがオンになっていると利用できませんので注意が必要です。