検索結果をキャッシュさせない方法


この機能は Ver. 3.2 で上位互換である「htmx」が組み込みJSとして標準機能に組み込まれたため、Ver. 3.2 より非推奨になりました。

代替機能として、組み込みJS「htmx」の利用を推奨いたします。

a-blog cmsでは、フォーム送信後の結果を、ページを移動せずにAjaxを使用して表示できる機能が標準で実装されています。この方法は組み込みJavaScriptのpost include機能を利用します。(v1.3.0より)

基本的にはキャッシュ機能が利用できる状態の時には、post_include機能で追加で表示されるHTMLについても部分的にキャッシュされる事になります。そのためソート順をランダムとしていたとしてもキャッシュされ同じものが表示される事になります。

キャッシュ機能が利用されている時にも、ランダムが利用できるようにする方法を紹介します。

使用方法

実際にはキャッシュさせないという事ではなく、毎回違うURLでアクセスしているような状態にして処理しています。アクセス数が多いサイトの際にはキャッシュファイルサイズが大きくなりますので注意が必要になります。

Ver.2.7.xまでの記述

<form action="" method="post" class="js-post_include-ready">
<!-- キャッシュがオンでもランダム表示が可能になる記述ここから-->
<input type="hidden" name="hash" value="Math.random()" class="js-post_include-eval_value" />
<input type="hidden" name="query[]" value="hash" />
<!-- キャッシュがオンでもランダム表示が可能になる記述ここまで-->
</form>

class="js-post_include-eval_value"が書かれている事でvalueにはMath.random()というプログラムが実行され編集される事になります。

<input type="hidden" name="hash" value="Math.random()" class="js-post_include-eval_value" />

上記のHTMLが実行されると、0から1までのランダムな実数を生成するコードになり実際には以下のようになります。

<input type="hidden" name="hash" value="0.8770308238454163" class="js-post_include-eval_value" />

http://example.com/?hash=0.8770308238454163 のようなアドレスでアクセスする事になりますが、?hash= というアドレスにするためには以下の1行も必要になります。

<input type="hidden" name="query[]" value="hash" />

Ver.2.8.0からの記述

<form action="" method="post" class="js-post_include-ready">
<!-- キャッシュがオンでもランダム表示が可能になる記述ここから-->
<input type="hidden" name="hash" value="" class="js-random" />
<input type="hidden" name="query[]" value="hash" />
<!-- キャッシュがオンでもランダム表示が可能になる記述ここまで-->
</form>
<script>
  $('.js-random').val(Math.random());
</script>

a-blog cms Training Camp 2024 を開催しました!

11月15日(金)に名古屋国際センタービルにて「a-blog cms Training Camp 2024」 を開催し、20都道府県から55名の方にご参加いただきました。



a-blog cms Training Camp とは?
「a-blog cms cms Training Camp」(通称「合宿」)は、全国から a-blog cms のユーザーが集まり、a-blog cms に関するセッションに参加したり意見交換を行うなど、 a-blog cms の最大規模の勉強会・交流会としての役割を担っています。

概要

日程

2024年11月15日(金)13:30 - (懇親会 : 19:00 - )

会場

イベント会場
名古屋国際センタービル
愛知県名古屋市中村区那古野1−47−1

懇親会会場
楽楽 名駅店
愛知県名古屋市中村区名駅3-5-7 1F

セッション一覧

  • 公式テーマを活用して、効率よく開発するすすめ
    フォルトゥナ 坂本 邦夫さん
  • Webサイトのサーバー間移行作業での気づき −アップデートは主体性が大事だと思った経緯
    株式会社ルーコ 川﨑 絢加さん
  • 「Ver. 3.0 こんなつまずき」集 −3系のアップデートで遭遇した「えっ!こんなこと」とその解決方法
    株式会社データファーム 勝又 孝幸さん
  • a-blog cms on AWS - アップルップルさんのコーポレートサイトをAWSにお引越し!
    アルブストリクス株式会社 平山 智則さん
  • いまクライアントに提供するユニットのかたち
    A-Systems株式会社 石川 寿刀さん
  • 事例紹介2024 - ましじめ株式会社
    ましじめ株式会社 田村 章吾さん
  • エントリーの運用体験を改善するVer.3.2のアップデート
    有限会社アップルップル 宇井 陸登& 新井 慎之介
  • a-blog cms Ver. 3.2 アップデート:機能強化と新たな可能性
    有限会社アップルップル 伊藤 淳

公式テーマを活用して、効率よく開発するすすめ
フォルトゥナ 坂本 邦夫さん

a-blog cms 公式テーマ「Site」を使用して構築する際に、工夫していることやアクセシビリティ面の対応についてお話しいただきました。



Webサイトのサーバー間移行作業での気づき −アップデートは主体性が大事だと思った経緯
株式会社ルーコ 川﨑 絢加さん


Webサイトのサーバー間移行作業での経験から、アップデート方法の違いと手順を理解し、主体的に取り組むことの大切さについてお話しいただきました。


「Ver. 3.0 こんなつまずき」集 −3系のアップデートで遭遇した「えっ!こんなこと」とその解決方法
株式会社データファーム 勝又 孝幸さん

a-blog cms のメジャーアップデート作業で注意したこと、感じたこと、トラブルに対する解決方法を実際の事例を用いてお話しいただきました。



a-blog cms on AWS - アップルップルさんのコーポレートサイトをAWSにお引越し!
アルブストリクス株式会社 平山 智則さん


弊社サイトをはじめてAWS上で稼働させるサポートを行なった経験をもとに、a-blog cms 用に最適化したクラウドサーバーの設定や負荷検証、セキュリティ強化についてお話しいただきました。



いまクライアントに提供するユニットのかたち
A-Systems株式会社 石川 寿刀さん


標準ユニットの組み合わせで理想のレイアウトを実現するのが難しいというクライアントの声をもとに試行錯誤してきたユニットの現在のかたちをご紹介いただきました。



事例紹介2024 - ましじめ株式会社
ましじめ株式会社 田村 章吾さん


制作事例をもとに、実際に行ったカスタマイズをご紹介していただきました。



 エントリーの運用体験を改善するVer.3.2のアップデート
有限会社アップルップル 宇井 陸登 & 新井 慎之介


a-blog cms の次期バージョン「Ver. 3.2.0」で追加される機能の中から、エントリー管理や編集作業に関する機能に絞って紹介しました。ユーザーの運用体験をより快適にするための改良が施されています。




a-blog cms Ver. 3.2 アップデート:機能強化と新たな可能性
有限会社アップルップル 伊藤 淳


a-blog cmsの次期バージョン「Ver. 3.2.0」で追加された主要な新機能や改善点をご紹介いたしました。特にエントリー編集や運用体験の向上に力を入れ、新しいテンプレート機能やAPIの改善を行っています。



参加者の声


参加者からは「a-blog cms の"できること"が詰まったイベントだった」「現場の声が聞ける内容でありがたい」などの声が寄せられ、次期バージョンの 「Ver. 3.2.0」についても「嬉しい機能がたくさん」「使いやすそうで楽しみ」などポジティブな反応が多く集まりました。


最後に


登壇者の皆様、ご参加の皆様、ご協力いただいた皆様、誠にありがとうございました。また皆様にお会いできるのを楽しみにしております。


ユニット設定を使いこなす

ユニット設定画面

この記事は Advent Calendar 2024 の24日目の記事となります。a-blog cms に関する25日分の記事が公開されていますので、ぜひご覧ください。

https://adventar.org/calendars/9974

はじめに

この記事では、エントリー編集の基本機能であるユニットの設定について紹介します。意外と知らないことも多い設定方法について、この機会にいくつかのチップスをお届けします。

ユニット設定では、編集設定で追加した「ユニット追加ボタン」を押した際の挙動をカスタマイズすることができます。これにより、運用者にとって使いやすい編集画面を実現できます。ぜひ一度お試しください。

新規エントリー作成時に最初から追加されるユニットを設定する

この機能を知っている人は多いかもしれません。エントリー作成時にデフォルトで追加されているユニットを設定することができます。 標準テーマだと「メディア」と「テキスト」ユニットが設定されています。


初期ユニット

初期ユニット

設定方法

ユニット設定画面に移動すると「新規エントリー作成」という項目があるので、ここに初期ユニットを好きなように設定することができます。 例えばブログ的コンテンツの場合は、「メディア」「目次ユニット」「テキスト」などにしたり、専用のカスタムユニットを必ず入力する場合など初期から表示されていると便利です。


新規作成時のデフォルトユニット設定

新規作成時のデフォルトユニット設定


初期ユニットの表示例

初期ユニットの表示例

初期値を設定する

ユニット追加時にデフォルト値を設定することができます。設定はユニット設定画面から行い、各ユニットに対して指定します。

設定例

テキストユニット


マークダウンを初期設定に

マークダウンを初期設定に

マークダウンでのみテキスト入力する場合は、テキストユニットのデフォルトを「マークダウン」にしておくことで、毎回マークダウンを選択する手間をなくすことが出来ます。

メディアユニット


配置と初期画像を設定

配置と初期画像を設定

「配置」を中央寄せにすることが多いので、デフォルトで配置を中央にしておきます。 またデフォルトのメディアIDを設定することにより、ユニット追加時に画像が設定されている状態にできます。 例えばエントリーの下書き時に、まだ画像がないけど画像を入れる予定がある場合などに、ひとまず仮の画像を設定する手間が省けます。

複数のユニットの組み合わせを一度に追加する

以下のような設定を行うことで、ボタン1つで複数ユニットを一度に追加することも可能になります。 例えば、ユニットグループを使用して段組する時、複数ユニットを組み合わせる必要があり、また設定する箇所が多いです。このような時に便利です。

設定例

メディアユニットとテキストの組み合わせを2カラムの段組にしたい場合を考えてみます。 まず「編集設定」ページで新しく「ユニット追加ボタン」を追加します。重要なのは「モード」は「拡張」を選び、値は適当な文字列(ユニット拡張ではない)に設定することです。


新しいユニット追加ボタンを追加

新しいユニット追加ボタンを追加

次にユニット設定画面に移動すると「2段組(画像+テキスト)」という枠ができていますので、ここにメディアとテキストのユニットをユニットグループで二段組になるように追加・設定します。


複数ユニットで2段組ユニット設定

複数ユニットで2段組ユニット設定

以上で設定完了です。エントリー編集ページで「2段組(画像+テキスト)」ボタンを1つ押すだけで、ユニットが4つ挿入され、以下のようなレイアウトを瞬時に組むことが可能になります。


ユニットの表示例

ユニットの表示例

ユニットグループを使った段組レイアウトは、理解をするのが難しくなかなか使いこなせません。
ただこのように最初から設定された状態でユニット追加ができることにより、運用者が簡単に段組レイアウトを実現することができるようになります。

定型ユニットを用意する

最後定型ユニットを追加する方法です。こちらは特に独自の設定があるわけではなく、運用しやすい編集画面を用意する上でのアイデアになります。

設定例

例えば、以下のような定型ユニットを考えてみます。

  • スタッフ募集の定型文ユニット
  • 休業日のお知らせ定型文ユニット
  • お問い合わせ先の定型文ユニット

ユニット追加ボタンの設定

ユニット追加ボタンの設定


定型文をユニット設定画面で設定

定型文をユニット設定画面で設定

このように、サイトを運営していく上でよく使用するような文章やパーツをボタン1つで追加できるようにしておくことでスムーズに記事を更新できるようになります。

以上になります。 カスタムフィールドの設計だけではなく、ユニット設定もしっかり設定することで、運用しやすくお客様に喜ばれる編集画面を提供できます。 ぜひ試してみてください!!