Craft CMS で日本語タイトルをローマ字変換して slug にセットする(前編)

先日、X(旧 Twitter)でこんなポストを見かけました。

Craft CMS では、置換されたり除去される文字が一部あるものの、エレメントのタイトルとして入力された日本語テキストは、そのまま Slug にセットされてしまいます。

URI 文字列に日本語テキストが含まれるのを避けるには、slug の替わりに ID を利用したり、slug を半角英数で手入力する運用ルールを設けたりといった、対応が必要です。

そんな工夫をしなくても、自動的にローマ字変換できるのであれば確かに便利そうですね。

そこで、Craft CMS で日本語タイトルをローマ字変換して slug にセットする方法について、考えてみました。
これは Craft CMS Advent Calendar 2023 19日目の記事です。

【Craft 4.4 の新機能】プライベートプラグインについて

Craft CMS でカスタムプラグインを作成する場合、これまでプラグインのハンドルをユニークにする必要がありました。
作成したプラグインを Plugin Store に公開する際に必要となるルールで、ライセンスチェックに利用されるためです。

単純な普通名詞を避けてフレーズにしたり、ベンダーごとに固有な接頭辞を付けるのが一般的だったのですが、Plugin Store に公開しないのであれば必要がないとも言えます。

そこで、今回は Craft 4.4 から可能になったプライベートプラグインについて、ご紹介したいと思います。
これは Craft CMS Advent Calendar 2023 16日目の記事です。

【Craft 4.5 の新機能】グローバル変数 _globals について

Craft CMS で変数を定義する場合、 {% set %} タグでセットします。
このとき、{% for %} など一部のタグ内で新しく定義したものはローカルスコープになるため、外からアクセスしたい場合はテンプレート冒頭で初期化しておくといった工夫をしていました。

グローバル変数を利用することで、細かいことを気にする必要がなくなるとしたら便利ですよね?

そこで、今回は Craft 4.5 から新たに加わったグローバル変数 _globals の使い方をご紹介したいと思います。
これは Craft CMS Advent Calendar 2023 14日目の記事です。

【Craft 4.5 の新機能】Element Index のリラベルについて

Craft 4.5 から、フィールドレイアウト上で設定したラベルで Element Index のフィールド名が上書きされるようになりました。

これまで、以前ご紹介した自作プラグインのインストールが必要だったものが、標準機能として搭載された形です。
個人的に待ち望んでいた機能なので、とても嬉しいですね。

そこで、Element Index のリラベル機能について、改めて確認しておこうと思います。
これは Craft CMS Advent Calendar 2023 13日目の記事です。

【Craft 4.5 の新機能】共有可能なエレメントフィルタで、管理画面をカスタマイズする(実践編)

前回の記事では、エレメントフィルタの共有 URL がどのような構造になっているのかを確認しました。

今回は、その仕組みを利用して「プルダウンから選択されたカテゴリに関連づけられたエントリだけを絞り込み表示」するカスタマイズを加えてみようと思います。

これは Craft CMS Advent Calendar 2023 11日目の記事です。

【Craft 4.5 の新機能】共有可能なエレメントフィルタで、管理画面をカスタマイズする(準備編)

Craft 4.4 以降、Element Index(一覧画面)を任意条件でフィルタリングした際の URL を共有できるようになりました。

正確には Craft 4.4 でキーワード検索の結果、Craft 4.5 からは更にエレメントフィルタによる絞り込み結果の URL を共有可能です。これによって、管理画面の操作に慣れないユーザーに複雑なフィルタ条件を設定することなく絞り込み後のエレメント一覧を表示させることができ、とても便利だなと感じています。

そこで、今回はエレメントフィルタの共有 URL を利用して管理画面を少し使いやすくしてみます。
これは Craft CMS Advent Calendar 2023 7日目の記事です。

【Craft 4.5 の新機能】アクティビティ・インジケーターについて

2023年を振り返ると、3月8日に Craft 4.4、8月22日に Craft 4.5 がリリースされました。

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

Craft 4.5 Released | Craft CMS
https://craftcms.com/blog/craft-4-5-released

主だったポイントはリンク先のブログ記事で紹介されている通りなのですが、管理画面操作がより便利になったり、テンプレートやプラグインの開発時に効率化を図れたり、個人的にも嬉しい機能がいくつか追加されました。

そこで今回から数回に分けて、気になる機能をピックアップしてご紹介していきます。
まずは「アクティビティ・インジケーター」について。

これは Craft CMS Advent Calendar 2023 4日目の記事です。

ColorfulBox / mixhost の CLI の PHP バージョンを変更する

Craft CMS をレンタルサーバーで運用する場合、ColorfulBox または mixhost を選択しています。
「LiteSpeed のレスポンスが早い」などの機能と料金のバランスが良く、「CDN を利用する程では...」という規模感であれば、なおのこと使い勝手の良いサーバーだと個人的に思っています。

これら2つのサービスでは、ドメインごとに利用する PHP バージョンを cPanel 上で指定できます。
その際、CLI の PHP バージョンと異なると ./craft update などのコンソールコマンドがエラーになる場合があります。

そこで今回は CLI の PHP バージョンの調整方法について、備忘録を兼ねてまとめておきます。
これは Craft CMS Advent Calendar 2023 1日目の記事です。

Craft CMS でキーワード検索をする

過去記事を読み返していて検索インデックスの更新には言及しているものの、キーワード検索を Twig テンプレートで実装すること自体には触れていませんでした。

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

そこで改めて Craft CMS でキーワード検索をする方法について、おさらいしてみたいと思います。
これは Craft CMS Advent Calendar 2022 25日目の記事です。

Craft CMS のモジュールを作ってみよう

エントリ一覧のサブナビゲーションには、常に「すべてのエントリ」リンクが表示されます。
「直近で更新されたエントリがあるか?」を確認するのに便利ではあるものの、セクションを跨いだ情報なこともあり、あまり利用しないケースがほとんどです。

そこで、Craft Generator が生成したひな形から「すべてのエントリ」リンクを非表示にするカスタムモジュールを作成してみたいと思います。

これは Craft CMS Advent Calendar 2022 24日目の記事です。