ヘテムルレンタルサーバーでPHP5.4でもionCube Loaderが利用可能になりました

ヘテムルレンタルサーバーでPHP5.4でもionCube Loaderが利用可能になりました。PHPのバージョンについては、PHPのご利用方法|ヘテムルレンタルサーバー をご確認ください。

また、PHP5.4以前に作成されたMySQLは、パスワードの変更処理が必要になりますのでご注意ください。


なお、ヘテムルではPHP5.2 の提供は終了しており、PHP5.3 につきましてもPHP自体のサポートが2014年7月10日に終了します。今後のためにも、できるだけPHP5.4をご利用ください。

メールテンプレート

メールテンプレートにはフォームの項目で使用したカスタムフィールドの変数やグローバル変数などが記述されてします。
例えば /themes/site2015/contact/form/adminbody.txt では以下のような記述をしています。

{name} 様 よりお問い合わせがありました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

受付日時:%{Y}年%{n}月%{j}日 %{H}:%{i}:%{s}

■お問い合わせ情報

ご用件    : {description}[raw]
お問い合わせ内容:
{inquiry}[raw]


■お客様情報

会社名    : {company}[raw]
お名前    : {name}[raw]
メールアドレス: {email}
お電話番号  : {phone}
ご住所    : 〒{zip} {pref_code} {address}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

site2015テーマのフォームのメールテンプレートはテキストファイルのためHTMLは記述していません。Ver.2.5よりHTMLメールにも対応となりましたので、HTMLメールをご利用になる際はVer.2.5以降のバージョンをお使いください。

また、校正オプションを記述することができます。校正オプションについてはリファレンスをご覧ください。 例えばお問い合わせ内容のテキストを改行するには以下のような校正オプションを記述します。

{inquiry}[escape|nl2br]

新しいテンプレート機能を使ってみよう

Ver. 2.8.0 より新しいテンプレート機能が追加されました。その機能とは、テンプレートを継承できる仕組みになります。 今までは、テンプレートをインクルードする事でテンプレートファイルを分割していましたが、この継承機能と組み合わせる事で、テーマをわかりやすく、管理しやすくできます。是非マスターしましょう!

テンプレート継承

初めに簡単な例を見てください。
ここでは、9:3のレイアウトを定義しているテンプレートを例にあげてみました。
ファイルの場所は、 themes/テーマ名/layout/main.html にしておきます。

※インクルードファイルはSimple2017を使用しています。別のテーマをお使いの場合は表示が崩れる場合がありますので、ご注意ください。

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<!--#include file="/include/head/meta.html" -->
	<!--#include file="/include/head/link.html" -->

	@section(head-js)
	<!--#include file="/include/head/js.html" -->
	@endsection
</head>
<body>

@section(header)
<!-- #include file="/include/body_start.html" -->
<!-- ヘッダー -->
<!--#include file="/include/header.html" -->
<!-- トピックパス -->
<!--#include file="/include/header/topicpath.html" -->
@endsection

<div class="acms-container">
	<!-- ※管理用パーツ -->
	<!--#include file="/admin/action.html"-->
	<div class="acms-grid">
		<main class="acms-col-lg-9 main">
			@section(main)
			<h2>メインのコンテンツ</h2>
			@endsection
		</main>
		<div class="acms-col-lg-3 sub">
			@section(sub)
			<h3>サブカラムのコンテンツ</h3>
			@endsection
		</div>
	</div>
</div>

@section(footer)
<!-- お問い合わせ -->
<!--#include file="/include/footer/suggest.html" -->
<!-- フッター -->
<!--#include file="/include/footer.html" -->
@endsection

</body>
</html>

入力項目の追加

入力側に追加するときの記述について

フォームの入力フォームはフォームステップ:初期(step)とフォームステップ:修正・エラー(step#reapply)の2カ所に記述されています。フォームの項目を追加するにはこの2つのステップに追加してください。フォームの項目はカスタムフィールドで作られています。カスタムフィールドについてはカスタムフィールドのページをご覧ください。

例えばsite2014テーマでは /themes/site2014/contact/form/input.html にフォームの項目が記述されています。site2014テーマのフォームステップ:初期(step)とフォームステップ:修正・エラー(step#reapply)は input.html とインクルードしているため項目を追加するときはこのファイルを編集すれば2ステップに反映されます。
以下は site2014テーマが /themes/site2014/contact/form/input.html を読み込んでいるソースの一部です。

<!-- BEGIN_MODULE Form -->
<!-- BEGIN step -->
<!-- フォームステップ:初期 -->
<form action="?step=reapply" method="post" class="acms-form">		
	<!--#include file="/contact/form/input.html"-->

	<input type="hidden" name="step" value="confirm" />
	<input type="hidden" name="id" value="contactForm" />
	<input type="submit" name="ACMS_POST_Form_Confirm" value="送信内容の確認へ" class="acms-btn" />
</form>
<!-- END step -->
	

<!-- BEGIN step#reapply -->
<!-- フォームステップ:修正・エラー -->
<form action="?step=reapply" method="post" class="acms-form">	
	<!--#include file="/contact/form/input.html"-->
	
	<input type="hidden" name="step" value="confirm" />
	<input type="hidden" name="id" value="contactForm" />
	<input type="submit" name="ACMS_POST_Form_Confirm" value="送信内容の確認へ" class="acms-btn" />

</form>
<!-- END step#reapply -->

site2014テーマを使ってフォームの項目を追加してみましょう。 /themes/site2014/contact/form/input.html に資料請求するかどうかの項目を追加します。以下のソースを追加してください。

<tr>
	<th>資料請求</th>
	<td>
		<label class="acms-form-radio">
		<input type="radio" name="request" value="資料請求する"{request:checked#資料請求する} /><i class="acms-ico-radio"></i>資料請求する</label>
		<label class="acms-form-radio">
		<input type="radio" name="request" value="資料請求しない"{request:checked#資料請求しない} /><i class="acms-ico-radio"></i>資料請求しない</label>
		<input type="hidden" name="field[]" value="request" />
	</td>
</tr>

site2014テーマのお問い合わせフォームに資料請求を追加するかどうかのフォームを追加できました。


a-blog cmsのフォームでは修正画面に戻っても入力したデータが保持されています。inputタグにカスタムフィールドの変数が書いてないとデータは保持されません。

<!-- ○ データが保持される -->
<input type="radio" name="request" value="on"{request:checked#on} /><i class="acms-ico-radio"></i>資料請求する</label>

<!-- × データが保持されない -->
<input type="radio" name="request" value="on" /><i class="acms-ico-radio"></i>資料請求する</label>

出力側に追加するときの記述について

確認画面(step#confirm)と完了画面(step#result)で追加した項目を出力する用のソースを追加します。
今度はsite2014テーマのお問い合わせフォームの /themes/site2014/contact/form/confirm.html に以下のHTMLを追加してください。

<tr>
	<th>資料請求</th>
	<td>
		{request}
	</td>
</tr>

確認画面にいくと資料請求の項目が追加されています。


メールのテンプレートに追加

項目を追加したらメールのテンプレートにも追加が必要です。フォームには管理者宛と一般宛の本文のメールテンプレートが2つあります。この2つに項目を追加してください。

site2014テーマでは以下が管理者宛と一般宛の本文のメールテンプレートになります。
/themes/site2014/contact/form/body.txt
/themes/site2014/contact/form/adminbody.txt

adminbody.txtのテンプレートに資料請求の項目を追加した例になります。

{name} 様 よりお問い合わせがありました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

受付日時:%{Y}年%{n}月%{j}日 %{H}:%{i}:%{s}

■お問い合わせ

会社名    : {company}
お名前    : {name}
メールアドレス: {email}
お電話番号  : {phone}
ご住所    : 〒{zip} {pref_code} {address}

資料請求: {request}

お問い合わせ種類: {description}
お問い合わせ内容:
{inquiry}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

静的書き出しをしてみよう [Pro版以上]

ブログの静的書き出し

ブログの静的書き出し

Ver. 2.8.0 より プロ版以上になりますが、ブログを静的なHTMLに書き出す機能が追加されます。静的に書き出すことによりパフォーマンスやセキュリティ面で有利になります。ハンズオン的な内容ではありませんが、どのように書き出せらるか体験してみましょう。

静的書き出しの仕様

  • アーカイブ(画像、ファイル)の書き出し
  • テーマのテンプレートの書き出し(ランディングページなど)
  • ドメインの書き換え(設定したドメインに書き換えます)
  • リンク、パスの書き換え(書き出し先設定に合わせて自動的に書き換えます)
  • CSSのURL属性の書き換え(画像パスなどを自動的に調整します)
  • トップ、インデックス、エントリーの書き出し(カテゴリートップも含む)
  • カテゴリー毎のページの作成
  • カテゴリー毎のアーカイブの作成(日付による絞り込み表示)