ルール

ルールという機能を利用すると、条件を指定してコンフィグまたモジュールIDを設定できるようになります。例えば、特定のデバイスやブラウザという条件で設定したり、特定のカテゴリーの時のみという条件で設定したいときに、このルール機能を作成します。


ルール作成画面

ルール作成画面


グローバルルールという機能を利用しますと、ルールを設定した子ブログに同様のルールを適用することができるます。多くの子ブログが存在するサイトの設定が一元化することができます。 こちらでは、具体的なルール機能の活用例を3つご紹介いたします。

スマートフォンに対応する

a-blog cms では、スマートフォン専用にプラグインとか、専用のプログラムがあるというわけではなく、このルール機能によって、ブラウザの名前(USER-AGENT)をチェックし、設定を切り換えて表示します。


スマートフォンの時のルール設定

スマートフォンの時のルール設定


このルールの設定を行った後に、一覧の「コンフィグ」ボタンをクリックして、スマートフォンのときのコンフィグについて設定を行います。ルール機能の主な用途としては、テーマの設定を変更することが挙げられます。

この場合、PCとスマートフォンでは同じURLで違ったテーマを表示することができるようになります。a-blog cms で標準搭載のキャッシュ機能もルールによって別で処理されますので、キャッシュのことは気にする必要はありません。

特定のカテゴリーのときにユニット設定を変更する

ユーザーエージェントだけではなく、特定のカテゴリーのときのみ、ユニットの細かい設定を変更するということができます。例えば、「商品紹介」と「お知らせ」では、ユニット設定の内容や、ユニット追加ボタン自体の設定や、テキストタグセレクトの内容を適切に変更し、カスタマイズをすることで、使わない場所では必要のない設定を表示させないことができます。

スマートフォンのときモジュールIDの設定を変更する

こちらはVer.2.5.0より追加された機能になります。

先ほどまでは、コンフィグの設定を変更する方法について述べていましたが、Ver.2.5.0よりモジュールIDの設定も変更できるようになりました。 たとえば、パソコンのときは一覧ページで50件表示していて、スマートフォンでは10件のみ表示させたい場合、管理画面からルールを設定すれば表示件数を変更できるようになります。 利用方法は、管理ページ > ルール のページに移動し、変更したいルール名の「モジュールID」ボタンをクリックしてください。モジュールID一覧と同じようなページに移動します。


スマートフォンの時のモジュール設定を変更する

スマートフォンの時のモジュール設定を変更する


変更したいルール名の設定を確認したい場合は、左上のプルダウン、もしくはトピックパスから確認できます。


ルール毎のコンフィグ設定のルール確認

ルール毎のコンフィグ設定のルール確認

モジュールID

「モジュールID」は基本的には「モジュール」と表示内容が同じですが、モジュールにIDを付けることで、特定のモジュールを指定することができます。普段HTMLを書いている方であれば、HTMLのclass属性のように設定できるものとして想像していただいて大丈夫です。それにより、指定した条件やモジュールが設置された状況によって変化する内容を固定することができます。

「URLコンテキストの情報を元に、モジュールは表示する内容を決める」とこれまでも紹介してきていますが、今回ご紹介しているモジュールIDを利用することで、URLコンテキストを利用せず、管理ページのモジュールIDで指定した条件を元にモジュールを動作させることができるようになります。

モジュールIDの設定

テンプレートの書き方

    <!-- BEGIN_MODULE Entry_List id="topEntryList" -->
    <ul>
    	<!-- BEGIN entry:loop -->
    	<li><a href="{url}">{title}</a></li>
    	<!-- END entry:loop -->
    </ul>
    <!-- END_MODULE Entry_List -->

テンプレート上のモジュールの BEGIN_MODULE モジュール名の後に id="モジュールID" のように指定をします。

管理ページの設定


モジュールIDの作成画面

モジュールIDの作成画面


まず最初にモジュールIDを作成したときに「条件設定」を設定することになります。 管理ページ側の指定については、「モジュール」の項目でどのモジュールなのかをプルダウンメニューから指定し、「id」の項目にテンプレート上に記述したモジュールIDを指定します。

モジュールID化することで、ブログやカテゴリーなどの細かい階層の条件指定が可能になります。以下、モジュール ID設定ページ下部にあります、「階層」の項目の設定になります。

  • 下層のブログやカテゴリー含めない
  • 下層のブログやカテゴリーも含める
  • 下層のブログやカテゴリーのみを対象とする

また、子ブログでも利用するようなモジュールについては、「グローバル」項目のチェックボックスにチェックをすることで、下階層のブログでも使用できるグローバルモジュールIDとして利用することができます。


モジュールIDの表示設定

モジュールIDの表示設定


モジュールIDで指定したモジュールについては、個別に「表示設定」の設定ができます。


モジュールのカスタムフィールド設定

モジュールのカスタムフィールド設定


なお、Ver.2.5.0よりモジュールIDにもカスタムフィールドの機能が増えました。例えば、新着記事一覧の見出しなどを運営者側でも変更したい場合に設定すると便利にお使いいただけます。

モジュールIDの引数

Entry_Body と Entry_Headline については、URLコンテキストの値を自動で取得するような仕様になっていますが、他のモジュールについては取得したい値を指定する必要があります。そのためモジュールIDを設定しないとURLコンテキスト上のpageが反映されないことが起ります。たとえば、pageが反映されていないと、2ページ目に移動しても1ページと同じようなコンテンツが表示されてしまいます。


モジュールIDの引数設定

モジュールIDの引数設定

フォーム

サイトを公開している理由の中には、お客様からの注文や問い合わせを受けるためという目的も多いと思います。a-blog cms では標準でフォーム機能も搭載しております。機能としては、以下のようなものが上げられます。

  • サイトのどこにでも設置が可能
  • メールの送信には2種類(一般メール・管理者宛)のメールを送れる
  • 入力項目のチェック機能
  • 入力項目のコンバート機能
  • 複数ステップのフォームを作る事ができる
  • DBに蓄積&CSVのダウンロード
  • 運営者がカスタマイズできるフォームを作ることが可能(動的フォーム)

フォームモジュール

フォームについても、モジュールとして提供しております。フォームの基本ステップとしては、新規・修正・確認・完了の4つのステップに分かれており、このステップを増やす事で複数ステップのフォームを用意できる事になります。

<!-- BEGIN_MODULE Form -->

  <!-- BEGIN step-->
  <!-- 初期画面 -->
  @include("/include/form/insert.html")
  <!-- END step -->

  <!-- BEGIN step#reapply -->
  <!-- 修正 -->
  @include("/include/form/update.html")
  <!-- END step#reapply -->

  <!-- BEGIN step#confirm -->
  <!-- 確認 -->
  @include("/include/form/confirm.html")
  <!-- END step#confirm -->

  <!-- BEGIN step#result -->
  <!-- 完了 -->
  @include("/include/form/result.html")
  <!-- END step#result -->

<!-- END_MODULE Form -->

その他にも以下のようなブロックがあります。セキュリティ対策のために使われるブロックで、必須ということではありませんが、記述したほうが安心ですので、ご紹介いたします。

不正なアクセスを禁止するブロック

<!-- BEGIN step#forbidden -->
  <h2>不正なアクセスです。</h2>
  <p>お手数ですが、はじめからやり直して下さい。</p>
<!-- END step#forbidden -->

連続投稿を禁止するブロック

<!-- BEGIN step#repeated -->
  <h2>連続投稿は禁止されています。</h2>
  <p>お手数ですが、はじめからやり直して下さい。</p>
<!-- END step#repeated -->

フォームの基本

ここではテキストの入力欄についての表記は、以下のようになります。他のフォーム項目についても機能としては用意されておりますが、この章では割愛させて頂きます。

表示用のフォームタグ

メールアドレスの入力欄自体になります。スタイルを適応したい場合はこのinputタグにclass属性を記述してください。

<input type="text" name="mailaddress" value="" />

システムに mailaddress という項目の存在を伝える記述

システムに伝えるための記述なので、type属性はhidden(非表示)にします。

<input type="hidden" name="field[]" value="mailaddress" />

必須入力を指示するための指定

こちらもシステムに伝えるための記述なので、type属性はhidden(非表示)にします。

<input type="hidden" name="mailaddress:validator#required" />

フォームの管理ページ

管理ページ > フォーム の順に移動すると、フォームを管理するページが表示されます。このページで、フォームIDを作成し、作成したフォームIDをテンプレート上に設定する事で、データベース上にフォームの入力情報を保存し、CSVダウンロードを可能にしています。また、メールのテンプレートの設定や、From, To等の設定も管理ページ上で設定します。


フォーム設定画面

フォーム設定画面