Ver. 3.1.4 リリースのお知らせ


この記事では、2023年10月10日にリリースした Ver. 3.1.4 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.1.4 リリースノート

  • CMS-6538 管理画面からのユーザーの削除時にPHPエラーが発生する問題の修正
  • CMS-6541 Ver. 3.1 でエントリー一覧系モジュールで「ログインしていなくてもシークレットブログ・カテゴリーのエントリーを表示する」設定をしている場合かつ管理者以外の場合、カテゴリーなしのエントリーが一覧に表示されない問題を修正
  • CMS-6540 Ver. 3.1 の Entry_Body で、エントリーを複数選択しての表示が最初の1件のみになってしまう問題を修正
  • CMS-6543 管理ページ > ユーザー編集ページで、ステータスが正常に表示されない問題の修正 & 管理ページでのユーザー保存時に、ユーザーアイコン画像が表示されない問題の修正

主なリリースノートの詳細な内容

CMS-6541 Ver. 3.1 でエントリー一覧系モジュールで「ログインしていなくてもシークレットブログ・カテゴリーのエントリーを表示する」設定をしている場合かつ管理者以外の場合、カテゴリーなしのエントリーが一覧に表示されない問題を修正

Ver. 3.1.0 〜 3.1.3 にて、エントリー一覧を表示するモジュールで特定の条件下だとカテゴリー適用されていないエントリーが一覧に表示されない問題を修正しました。
エントリー一覧を表示するモジュールの設定 > 表示設定「ログインしていなくてもシークレットブログ・カテゴリーのエントリーを表示する」にチェック(デフォルトはオフ)をして運用している場合は、アップデートをお願いいたします。


表示設定「ログインしていなくてもシークレットブログ・カテゴリーのエントリーを表示する」

CMS-6540 Ver. 3.1 の Entry_Body で、エントリーを複数選択しての表示が最初の1件のみになってしまう問題を修正

Ver. 3.1.0 〜 3.1.3 にて、Entry_Body モジュールの条件設定「引数」のエントリーIDを複数指定している場合に、表示設定の「表示件数」に関わらず1件のみのエントリー表示になってしまう問題を修正しました。


Entry_Body > 条件設定「引数」のエントリーIDを複数指定

Entry_Body モジュールでエントリーIDを複数指定している場合は、アップデートをお願いいたします。

CMS-6543 管理ページ > ユーザー編集ページで、ステータスが正常に表示されない問題の修正 & 管理ページでのユーザー保存時に、ユーザーアイコン画像が表示されない問題の修正

Ver. 3.1.0 〜 3.1.3 にて、ステータスを「無効」にしているユーザーを管理ページ(ユーザー管理 > ユーザー個別の編集ページの基本設定)から確認しても「有効」と表示されてしまう問題と、管理ページでユーザーを保存した時にユーザーアイコン画像が表示されない(リロードすると表示されます)問題を修正しました。


ユーザー管理 > ユーザー個別の編集ページの基本設定「ステータス」と「アイコン画像」

ユーザー操作されている場合は、アップデートをお願いいたします。

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。

モジュールで出力している情報を変更する

目標


トップページに表示されている「製品情報」のコンテンツを「スタッフ紹介」に置き換えましょう。


解説使用テーマbeginner

Before

After

目次

  1. 事前準備
  2. モジュールIDについて
  3. トップページ「製品情報」のコンテンツを「スタッフ紹介」に変更する
  4. モジュールの表示設定を変更する

事前準備


ハンズオンの事前準備として、スタッフ紹介カテゴリー内に「スタッフ1」から「スタッフ10」までのエントリーを作成します。


まずエントリーの編集の [複製] ボタンより、「スタッフ1」のエントリーを10枚分複製しましょう。



次に複製したエントリーのステータスを全て「公開」とし、それぞれ区別ができるようにタイトルとファイル名を編集します。


ステータス公開
エントリータイトルスタッフ+番号(例:スタッフ2)
ファイル名staff+番号(例:staff2)

以上で事前準備は完了です。



モジュールIDについて


レベル2「ナビゲーションを編集する」では、ブラウザ上で更新ができる「モジュール」というパーツについて学びました。今回のハンズオンではその「モジュール」にさらにクローズアップし、これらを管理する仕組みやブラウザ上でできる出力情報の制御の方法について理解を深めていきます。


まずはトップページ「製品情報」をマウスオーバーし、[モジュール] ボタンをクリックします。



タブを [条件設定] に切り替えると、使用しているモジュールやモジュールIDについての表記が確認できます。



モジュールID
それぞれのモジュールを区別する任意の英数字をモジュールIDといいます。それぞれのモジュールはこのモジュールIDを名付けることによって作動し、またこれによってブラウザ上から「何件表示するか」「何を表示するか」などのモジュールに関する設定ができるようになります。

例えばテーマ「beginner2020」では、トップページと一覧ページの2箇所で「エントリーサマリーモジュール」が使われています。これらのモジュールにそれぞれ異なるモジュールID(トップページでは top_summary 、一覧ページでは summary_index )を付けることで、同じモジュールでも出力情報などの設定を区別することができます。


top_summary

モジュールID : top_summary


summary_index

モジュールID : summary_index


またモジュールID名は1つのモジュールにつきテンプレートと管理画面上で合わせて設定しているため、モジュールID名を変更する際には、必ずテンプレートと管理画面の双方で作業が必要になります。


トップページ「製品情報」のコンテンツを「スタッフ紹介」に変更する


ここからは実際にモジュールの設定を操作して、トップページに出力するコンテンツを「製品情報カテゴリー」→「スタッフ紹介カテゴリー」に変更していきます。


特定のブログや、カテゴリーに属するエントリーのみを表示させる場合は [条件設定] タブ内、「引数」にて指定することができます。



初期設定では「カテゴリーID」の項目で「製品情報」が指定されています。そのため現状のエントリーサマリーモジュールには「製品情報」エントリーの情報が出力されるようになっています。それでは、この設定を以下の手順で「スタッフ紹介」へ変更しましょう。



  1. 製品情報ラベル左側の [ID参照] ボタンをクリックする
  2. 表示されるリスト内で [スタッフ紹介] を選択する
  3. ラベル内にある [×] ボタンをクリックして製品情報ラベルを消去する


これでカテゴリーの指定は完了です。他にも引数の設定からは、エントリーIDやタグなど様々な条件でモジュールに出力するエントリーを絞り込むことができます。また各項目にチェックを打ってURLコンテキストを優先することで、出力したい条件を細かく指定することもできます。


URLコンテキスト
a-blog cmsでは、表示しているページの位置や状態を示すURL上のパスを「URLコンテキスト」といいます。モジュール設定の「引数」にあるチェックボックスを有効にすると、URLコンテキストの情報を元に表示するコンテンツを絞り込むようになります。記述方法は多岐にわたるので、詳しくはURLコンテキスト | ドキュメント | a-blog cms developerをご覧ください。

また、テーマ「beginner2018」では [カスタム設定] タブからモジュールの見出しが変更できるので、「製品情報」を「スタッフ紹介」に書き換えたのちに設定を保存しましょう。



以上でトップページの「製品情報」を「スタッフ紹介」に変更できました。



モジュールの表示設定を変更する


現状のトップページでは、スタッフ紹介のエントリーがランダムで6件表示されています。これらをエントリーの作成日順に10件表示する設定に変更しましょう。


表示に関する設定は、[表示設定] タブ内で行います。



表示順作成日(昇順)
表示件数10

[表示設定] タブ内では、その他にもサマリーやタグなどの出力情報の制御ができます。またイメージ・ページャー・フィールド・表示内容について、あらゆるケースに最適な条件を指定することも可能です。



以上の作業で、トップページにエントリーが作成日順に10件表示されました。


Ver. 3.1.5 リリースのお知らせ


この記事では、2023年11月06日にリリースした Ver. 3.1.5 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.1.5 リリースノート

  • CMS-6583 監査ログの連続通知を抑制する機能を追加
  • CMS-6546 タイトルをクリックしてのダイレクト編集ポップアップがすぐ閉じてしまい編集できない場合がある問題を修正
  • CMS-6545 メディアのファイル名にスペースが入っているとパスが切れてしまう問題を修正
  • CMS-6549 管理ページ上でテンプレート指定しているコンバーターが動作していない問題の修正
  • CMS-6553 メディアファイル名がマルチバイトだと校正オプションの「imageRatioSizeH」と「imageRatioSizeW」が正常に動作しない問題を修正
  • CMS-6547 WordPressインポート手順の文言を修正
  • CMS-6555 メディアのドロップエリアでファイル選択ダイアログからファイルを選択した場合、再度ファイル選択ダイアログの表示ができない問題の修正
  • CMS-6556 利用可能なキャッシュドライバーが見つからなかった場合の監査ログの文言を改善
  • CMS-6559 データベースアップデートが失敗した場合、PHPエラーが発生する問題の修正
  • CMS-6561 Navigation モジュールで項目を削除時のアラート文言を修正
  • CMS-6551 並列承認で承認機能を利用している場合、承認申請時のボタンテキストが「承認する」となっている問題の修正
  • CMS-6567 インクルード第2引数の変数指定で、キーがあり値が空の場合、デフォルト値が表示されない問題を修正
  • CMS-6568 Webhook 機能でフォームの送信イベント時にPHPエラーが発生する問題の修正
  • CMS-6571 Webhook 一覧ページのドロップダウンメニューが画面からはみ出る問題の修正
  • CMS-6573 メールアドレス変更フォームで、メールアドレスを未入力で送信するとPHPエラーが発生する問題の修正
  • CMS-6574 会員アイコン削除後の画面でデフォルトのアイコン画像が表示されない問題の修正
  • CMS-6577 パスワード強度チェッカーのメーター要素の不具合を修正
  • CMS-6581 エントリーの新規作成に失敗した場合、保存ボタンが表示される問題の修正
  • CMS-6582 デフォルト会員関連の「読者」を「会員」に統一、パスワードリセットタイトル修正
  • CMS-6580 ユニットが空の場合、環境によってPHPエラーが出る問題を修正
  • CMS-6557 監査ログのクリップボードにコピー機能が動作していない問題を修正
  • CMS-6584 config.system.yamlのデフォルト値でIPアドレスによる権限制限をしている場合、設定値が読み込まれない問題を修正

主なリリースノートの詳細な内容

CMS-6583 監査ログの連続通知を抑制する機能を追加

Ver. 3.1.0で追加された監査ログ機能には、重大なエラーが発生した時にメールで通知する機能がついています。

重大な問題に早く気が付くための便利な機能ですが、アクセスするごとに重大なエラーが発生する状態の場合に、大量の通知メールが届いてしまい迷惑な状態になってしまっていました。 そこでVer. 3.1.5 の修正で、設定された時間の間に、設定された数の通知を超えた時、一時的に通知を止める機能を用意しました。

設定値変更

設定は「.env」で行います。特に設定されていなくてもデフォルトの設定で有効になっております。

デフォルト設定は、3分間に10回通知があったら、60分間通知を止める設定になっています。


項目名 説明 デフォルト値
ALERT_COUNT_TO_PAUSE エラー通知を一時停止するアラート回数を指定します(回) 10
ALERT_COUNT_PER_MINUTE  エラー通知を一時停止するカウント範囲時間を指定します(分) 3
ALERT_PAUSE_TIME エラー通知を一時停止する時間を指定します(分) 60

「ALERT_COUNT_PER_MINUTE」分間の間に「ALERT_COUNT_TO_PAUSE」回以上アラートが発生した場合、「ALERT_PAUSE_TIME」分間通知を止める

CMS-6545 メディアのファイル名にスペースが入っているとパスが切れてしまう問題を修正

メディアファイルで、ファイル名に「スペース」が入っている場合、リンク切れを起こしてしまい、正常に画像を表示ができない状態でした。 Ver. 3.1.5 で、ファイル名にスペースが入っている状態でも、リンクが切れないように修正いたしました。

CMS-6567 インクルード第2引数の変数指定で、キーがあり値が空の場合、デフォルト値が表示されない問題を修正

Ver. 2.8.0 よりインクルード文で引数に変数を渡せるようになりましたが、デフォルト値の表示に問題がありました。

読み込み元

@include("/path/to/file", {"key": "value"})

読み込み先

<p>{{key}}</p>

この時、指定した引数が空だった場合、デフォルト値も指定できるようになっております。

デフォルト値

変数が空だったり引数として渡されなかった場合に、デフォルト値を設定できるようになっています。 |(パイプ)で区切り、default(" ") で定義できます。

{{key | default("デフォルト値")}}

この時、以下のように引数指定がない場合は、デフォルト値が適応されるのですが、キーはあるが、値が空だった場合は、デフォルト値ではなく、空として処理されていました。

デフォルト値が表示される場合

@include("/path/to/file")

デフォルト値が表示されない場合

@include("/path/to/file", {"key": ""})

今回、空文字の指定だった場合でも、デフォルト値が表示されるように修正いたしました。

インクルードのドキュメントをみる

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。

お問い合わせフォームの設定を最適化する

目標


お問い合わせなどのフォームが入力された時、お問い合わせした人や管理者へ送信する確認メールをカスタマイズしましょう。


解説使用テーマbeginner

Before

After

目次

  1. フォームの仕組み
  2. テンプレートの形式でメールを受け取る
  3. オリジナルの件名・本文を入力してメールを受け取る

フォームの仕組み


初期設定のサイトマップでは、フォームの機能を体験するためのお問い合わせページ( http://example.com/contact/ )を用意しています。まずはこのページでフォームの仕組みについて学んでいきましょう。


お問い合わせページでは、入力する項目を下図のように設定しています。


お問い合わせフォーム

通常このフォームから送信された内容は、サイト管理者のメールアドレスに届くようにしなければなりません。また、入力されたアドレス宛へ確認メールが必要な場合もあります。まずはフォーム管理画面から、それらのアドレスを設定しましょう。


  1. 管理ボックスから [管理ページ] ボタンをクリックする
  2. サイドメニュー内 [フォーム] をクリックする
  3. リスト内「お問い合わせフォーム」右側の [変更] ボタンをクリックする


フォームの管理画面では、「基本設定」「入力チェック・変換」「一般メール設定」「管理者宛メール設定」を編集することができます。


基本設定



基本設定では、最初にフォームIDとフォーム名を定めています。


フォームID
制作するサイトによっては、お問い合わせフォームや募集フォームなど複数のフォームを設置することがあります。それらを区別する任意の英数字がフォームIDです。モジュールIDと同じくフォームIDはテンプレートと管理画面で合わせて設定されており、これによってフォームの設定や投稿データを管理できます。

テーマ「beginner2020」では、お問い合わせフォームのフォームIDはテンプレート側で contactForm と指定されているため、基本設定画面からも同じIDを使用しています。


入力チェック・変換



フォームの任意の項目に対して、「入力必須」や「最大文字数」などの条件を指定することができます。テンプレートを編集する必要があります。

しかし今回のチュートリアルでは管理画面のみでできることを学習するため、この機能について作業することはありません。


一般メール設定


一般メール設定では、フォームに入力した方へ送信するメールを管理することができます。



基本的には、メールの件名、本文について管理画面から直接入力し、通常のメールフォームと同様に「To」で送信先のメールアドレスを、「From」で送信元のメールアドレスを指定します。その他にも、通常のメールの設定と同じようにCc・Bcc・Reply-To の設定ができます。

「一般メール設定」の「From」は概ねサイト管理者になるので、自分のメールアドレスを入力しておくと良いでしょう。


From(自分のメールアドレス)

また件名、本文を入力していない場合は、a-blog cms 側で用意しているテンプレートの形式が採用されます。上図の件名ファイル、本文ファイルの項目に記入されている「/contact/form/subject.txt」「/contact/from/body.html」などは、そのテンプレートが置いてある場所へのパスになっています。


管理者宛メール設定


管理者宛メール設定では、フォームの管理者宛へ送信されるメールを管理することができます。



構成は一般メール設定と同じです。メールの件名、本文について管理画面から直接入力し、通常のメールフォームと同様に「AdminTo」で送信先のメールアドレスを、「AdminFrom」で送信元のメールアドレスを指定できるようになっています。

こちらでは送信先をサイト管理者にする必要があるので、「AdminTo」へ自分のメールアドレスを入力しておきましょう。


AdminTo(自分のメールアドレス)

一般メール設定のFrom・管理者宛メール設定のAdminToに自分のメールアドレスを入れたら、フォームの設定を保存してください。


テンプレートの形式でメールを受け取る


まずは a-blog cms が用意しているテンプレートの形式でメールを受け取ってみましょう。

お問い合わせページを開き、各項目に入力してください。入力する内容は自由ですが、内容確認メールも同時に受け取るために「お客様情報」のメールアドレス欄には自分のメールアドレスを設定してください。



フォーム送信後、設定/入力した自分のメールアドレス宛に確認メールが届きます。メール内容を見てみしましょう。


管理者宛メール内容

管理者宛メール内容


一般メール内容

一般メール内容


フォーム設定で指定されているメールのテンプレートファイルに沿って、フォームから入力された情報が表示されました。


以上がフォームを送信した時の流れになります。これらを踏まえて、次はフォーム設定から件名と本文を変更してみましょう。


オリジナルの件名・本文を入力してメールを受け取る


一般メール設定


まずは一般メール設定について、以下のように件名・本文を入力しましょう。


件名(優先)


【株式会社▲▲】お問い合わせありがとうございます

本文(優先)


この度はお問い合わせいただき、ありがとうございました。
以下の内容で送信しました。

+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-+:-+:-+:-+:-+

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

■お問い合わせ情報

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


■お客様情報

会社名    : {organization}[raw]
お名前    : {family-name}[raw] {given-name}[raw]
メールアドレス: {email}
お電話番号  : {tel}
ご住所    : 〒{postal-code} {address-level1} {address1} {address2}


+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-+:-+:-+:-+:-+

今後とも株式会社▲▲をよろしくお願いいたします。

この本文について、{変数} で示されている部分には実際にメールで入力された内容が表示されます。この変数の値についてはテンプレート側で指定しているものになるので、ブラウザ上での変更はできません。したがって、フォームから入力された内容を本文中に表示したい場合は、該当の値を上記のソースから直接コピー&ペーストしてお使いください。

少し踏み込んで学習をすると、こちらでは %{変数} の形で「グローバル変数」が、{変数}[オプション] の形で「校正オプション」が利用されています。それぞれの機能の詳細については、以下のリンクの解説をご覧ください。

管理者宛メール設定

管理者宛メール設定については、以下のように入力します。


件名(優先)


お問い合わせを受信しました

本文(優先)


弊社公式HPよりお問い合わせを受信しました。
担当者は迅速な対応をお願いします。

+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-+:-+:-+:-+:-+

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

■お問い合わせ情報

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


■お客様情報

会社名    : {organization}[raw]
お名前    : {family-name}[raw] {given-name}[raw]
メールアドレス: {email}
お電話番号  : {tel}
ご住所    : 〒{postal-code} {address-level1} {address1} {address2}

+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-:+:-+:-+:-+:-+:-+

入力内容を保存したら再度お問い合わせを送信し、自分のメールフォームより受信したメールの内容を確認しましょう。


管理者宛メール内容

管理者宛メール内容


送信者宛メール内容

送信者宛メール内容


入力した件名や本文が表示され、また変数で記入した部分にフォームの入力内容が反映されていればチュートリアルの目標は達成です。