公開中のサイトで知っておくと便利なa-blog cmsの小技

a-blog cms Advent Calendar 2014の3日目のエントリーです。私はa-blog cmsで公開中のサイトで知っておくと便利な小技について書きたいと思います。ほとんど簡単な基本的なものばかりです。ざっと箇条書きで書くと以下の通りです。

  1. config.server.phpの設定のIPアドレスの切り分け
  2. tplによる仮テンプレートの設定
  3. 編集ボタンの設置
  4. カスタムフィールドの値を確認するためのページ作成
  5. グローバル変数を使ってGoogle Analyticsのイベントのコードを貼る
  6. フォームでthanksページを用意してコンバージョンを取る

config.server.phpの設定のIPアドレスの切り分け

作業場所が固定IPの場合に限りますが、公開中のサイトでDEBUG_MODEやBENCHMARK_MODEなどを使いたいときに、config.server.phpのDEBUG_MODEなどのところに、以下のように書くと固定IP内からのネットワークの時のみDEBUG_MODEやBENCHMARK_MODEにすることができます。

if ( $_SERVER['REMOTE_ADDR'] == '固定IPのアドレス' ) {
    define('DEBUG_MODE', 1);
    define('BENCHMARK_MODE', 1);
} else {
    define('DEBUG_MODE', 0);
}

tplによる仮テンプレートの設定

公開しているページで少し修正したモノを作りたいときに以下のように書いて仮のテンプレートを当てて確認を取ることがあります。

example.com/entry.html/tpl/sample.html

確認用の仮ページだけでなく、include用のパーツを作る際に使ったりもしますし、エントリー以外の一覧ページなどでも利用したりします。応用編として以下のようにグローバル変数を使ってCSSをURLから指定する方法もあります。サンプルとして見出しの色を変える例は以下のとおりです。URLから直接色を変えたりできてしなうので、あくまでプロトタイプとしてクライアントに確認を取ったりする際に利用しています。

見出しの色を変える

example.com/entry.html/tpl/sample.html?h2color=ff0000
<head>
<style type="text/css">
h2 {
	color:#444;
	color:#%{h2color};
}
</style>
</head>

編集ボタンの設置

サイト管理者(主にクライアント)に管理ページを移動して目的のモジュールIDの編集箇所にたどり着くのはなかなか難しい部分があると思います。変更できるコンテンツではできるだけその近くに変更ボタンを配置するようにしています。

<!-- BEGIN_MODULE Touch_SessionWithAdministration -->
<form action="" method="post">
<input type="hidden" name="bid" value="1" />
<input type="hidden" name="admin" value="blog_edit" />
<input type="submit" name="ACMS_POST_2GET" value="コンテンツを変更" class="acms-btn-admin" />
</form>
<!-- END_MODULE Touch_SessionWithAdministration -->

上記だとBID1のブログのカスタムフィールドの変更ボタン

<!-- BEGIN_MODULE Touch_SessionWithAdministration -->
<form action="" method="post">
<input type="submit" name="ACMS_POST_2GET" value="お知らせを書く" class="acms-btn-admin" />
<input type="hidden" name="admin" value="entry-edit" />
<input type="hidden" name="bid" value="2" />
</form>
<!-- END_MODULE Touch_SessionWithAdministration -->

上記だとBID2のブログのエントリー作成ボタンになります。グローバル変数やモジュールの変数などをうまく使うと決めうちのブログやカテゴリーだけじゃなくボタンを生成することができると思います。

カスタムフィールドの値を確認するためのページ作成

エントリーにたくさんのカスタムフィールドの値があるときに確認用に専用の確認ページを作ることもあります。エントリーサマリーをテーブルの形式でカスタムフィールドごとの表にしてそこから直接変更ボタンも配置し直接編集ページへも飛べるようにしました。trのクラスにステータスをあてて、非公開のエントリーは色味を変えたりすると一覧で見たときに公開・非公開が見分けやすくなって作業楽になると思います。個人的にはその表の中から目的のエントリーを探す際に、js-incremental-searchを使ってテキストの絞り込みをして該当のエントリーを探すの重宝しています。

エントリーサマリーなどでカスタムフィールドのあたりを表にして、それをそのままスプレッドシートにコピーして、カスタムフィールドの値を編集する際の簡易バックアップと確認用にも使ったりもしました。

グローバル変数を使ってGoogle Analyticsのイベントのコードを貼る

最近ではGoogle Analyticsはタグマネージャーを使っていく方向性になっていくようなので、改めて検証が必要なのですが、従来のイベントトラッキングの貼り方で今見ているURLのグローバル変数をコードに埋め込んでどちらのボタンの方がより押されているかなど検証するのに利用していました。

<a href="hoge.html" onclick="_gaq.push(['_trackEvent', 'bottomContactBtn', '%{REQUEST_PATH}', 'hoge.html']);">こちら</a></p>

フォームでthanksページを用意してコンバージョンを取る

フォームの確認画面のステップでsiteテーマだと以下のようにthanks.htmlとなっていると思いますが、Google Analyticsのアナリティクス設定の目標の設定を忘れずにしましょう。具体的にお問い合わせが増えたとか成果が上がったかどうか、ダメだった場合は何が原因かなども調べることができますので、目標の設定は大事だなと今更ながら実感しております。目標の設定がしっかりしているとGoogle Analyticsの分析レポートもまとめやすくなるなというのも最近得た実感です。

<!-- BEGIN step#confirm -->
	<form action="thanks.html" method="post" class="acms-form" enctype="multipart/form-data">
		<input type="hidden" name="To[]" value="{email}" />
		<input type="hidden" name="AdminReply-To[]" value="<{email}>" />
		<input type="hidden" name="AdminFrom[]" value="<{email}>" />
		<input type="hidden" name="step" value="result" />
		<input type="hidden" name="takeover" value="{takeover}" />
		<input type="hidden" name="id" value="contactForm" />
		<input type="submit" name="ACMS_POST_Form_Submit" value="送信" id="btnSubmit" class="acms-btn acms-btn-primary acms-btn-admin-save" />
	</form>
<!-- END step#result -->

以上、公開中のサイトで知っておくと便利なa-blog cmsの小技についてでした。


カテゴリー

yamada takuo

有限会社アップルップル デザイナー

カメラと自転車と本屋が好きです。愛知県岡崎市在住。