Craft CMS のプラグインやモジュールのひな形を作る

先日「Craft Generator」についてのアナウンスがありました。
これは Craft 4 向けプラグインやモジュールの作成時にひな形をサクッと生成できる composer パッケージで、Craft の CLI コマンドとして利用できます。

Craft Generator | Craft CMS
https://craftcms.com/blog/craft-generator

以前「Craft CMS のプラグインを作ってみよう」で紹介した方法は Craft 3 までしか対応しておらず、自前でひな形を用意するのがちょっと面倒に感じていた自分にとって待望のリリースとなります。

そこで、今回は Craft Generator の導入方法や基本的な使い方についてご紹介したいと思います。
これは Craft CMS Advent Calendar 2022 18日目の記事です。

Craft CMS のテンプレートでクエリを実行する方法について

Craft CMS のテンプレートでは、エントリをはじめとする任意のデータを柔軟に絞り込んで取得することができます。

Element Queries | Craft CMS Documentation | 4.x
https://craftcms.com/docs/4.x/element-queries.html

エレメントクエリと呼ばれるこの手法は、クエリの実行時にもいくつかの選択肢が用意されています。

そこで、今回はクエリの実行方法についてご紹介したいと思います。
これは Craft CMS Advent Calendar 2022 17日目の記事です。

Craft 4 でシステム設定を定義する際の注意点について

Craft CMS ではシステムの一般設定を config/general.php に定義します。

従来であればここに各種サービスの API Key であったり、ページ分割のデフォルト件数であったり、ユーザー定義のカスタム設定を自由に追記することができました。ところが、Craft 4 からカスタム設定を別ファイルに定義する形となりました。

そこでカスタム設定の定義方法について、ご紹介します。
これは Craft CMS Advent Calendar 2022 11日目の記事です。

Craft CMS のデバッグに Ray を利用する

Craft CMS のテンプレートを実装する際、変数やオブジェクトの内容を確認したいときがあります。

Craft 3.2 以降、Twig の独自タグとして {% dd %} が追加され、プラグインを追加することなく内容を確認しやすくなりました。

とはいえ、都度都度 Twig タグの追加・削除をするのはちょっと面倒ですよね。

そこで、今回は Ray プラグインを利用したテンプレートのデバッグ方法についてご紹介したいと思います。
これは Craft CMS Advent Calendar 2022 10日目の記事です。

Craft CMS で画像ごとの「焦点(フォーカルポイント)」を設定する

Craft CMS ではアセットとして登録された画像ごとに「焦点」となる座標を指定できます。

あらかじめ設定しておくと、画像の一部を切り抜く形でサムネイルを生成する「画像変換」処理の際、システムが「画像のどの部分を優先するか」を判断できるようになります。

アセットごとに指定された「焦点」は「モード:切り抜き」が選択された画像変換の デフォルトの焦点 よりも優先されるため、大枠を「画像変換」で設定しつつ、細かい調整を行いたい場合のみ個別に設定すると効率的です。

そこで、今回は画像に「焦点」を設定する方法をご紹介します。
これは Craft CMS Advent Calendar 2022 4日目の記事です。

Craft CMS のサーバー要件について

前回の記事で触れたように、Craft 3 で動いているサイトもいずれアップグレードの機会が訪れます。

その際に気をつけたいのが、Craft 3 と Craft 4 で必須要件が異なる点。。。
場合によってはサーバーの手配も必要になるかもしれません。

そこで、Craft CMS のシステム要件について改めて確認しておきましょう。
これは Craft CMS Advent Calendar 2022 3日目の記事です。

Craft CMS の製品ライフサイクルについて

2022年5月4日に、Craft 4 がリリースされました。

Craft 4 | Craft CMS
https://craftcms.com/blog/craft-4

これから新たに採用するなら Craft 4 を選択すればいいのですが、様々な理由から Craft 3 で動いている既存サイトを早々にアップグレードできないケースもあると思います。では、いつまで気兼ねなく利用できるのでしょうか?

そこで、Craft CMS の製品ライフサイクルについて確認しておきましょう。

Craft CMS の検索インデックスを更新する

Craft CMS の管理画面で提供されている検索機能は、テンプレートや GraphQL、独自プラグインからも利用できるようになっています。

Searching | Craft CMS Documentation | 3.x
https://craftcms.com/docs/3.x/searching.html

フィールド単位でキーワード検索の対象にするかどうかを選択できるのですが、設定手順によってうまく検索結果に反映されないことがあります。

そこで、備忘録を兼ねて Craft CMS の検索インデックスをアップデートする方法についてまとめます。
これは Craft CMS Advent Calendar 2021 25日目の記事です。

Craft CMS でテンプレートのレンダリング時間を計測する

CMS の実装経験がある方であれば、その種類を問わず、テンプレートの書き方次第で出力にかかる時間が増減するのを一度は経験したことがあるのではないでしょうか?

その際、任意ブロックごとの処理で実際にどの程度時間がかかっているかを知ることができれば、効率的に改修できます。

そこで、今回は Craft CMS テンプレートのレンダリング時間を可視化する方法を2つご紹介します。
これは Craft CMS Advent Calendar 2021 15日目の記事です。

FTP クライアントとしてもオススメできる Beyond Compare

過去2回の記事で Craft CMS 環境を複製する方法システム設定を同期する方法についてご紹介しましたが、いずれの場合もユーザーによってアップロードされた「アセット」や制作サイドで管理する「テンプレート」などのファイルは FTP クライアントなどを利用して、適用前後の環境を同じ状態にする必要があります。

そこで、普段利用している Beyond Compare というツールをご紹介したいと思います。
これは Craft CMS Advent Calendar 2021 12日目の記事です。