Craft CMS のエントリー一覧の上にあるキーワード検索は、デフォルトの挙動だと検索ワードが単語の一部の文字列ではヒットしません。そこで、単純に検索ワードが含まれればヒットする緩い LIKE 検索にする方法をご紹介します。
Craft CMS のエントリー一覧の上にあるキーワード検索は、入力しながらサクッと候補が絞り込まれる ほぼ
インクリメンタルサーチなので便利です。しかし、デフォルトの挙動だと、単語の途中ではヒットしません。
つまり、例えば tinybeans.net
というのを探しているとして、 tiny
まで入力しただけではヒットせず、 tinybeans
まで入力しないとヒットしません。これって、スペルが tinybeans
と分かっていれば問題ありませんが、 tinybeens
とか tinnybearns
とか記憶が曖昧だった場合は、とても探しにくいですよね。
これを解消するには、 *tin*
のように *(アスタリクス)
を前方、後方、または前後両方につけて検索すればヒットするようになります。
しかし、いちいちアスタリクスを入力するのも面倒です。その場合、下記のように general.php
に設定を追加すれば、デフォルトの挙動を *
を付けたのと同じようにすることができます。
'defaultSearchTermOptions' => array(
'subLeft' => true,
'subRight' => true,
),
ちなみに、テンプレート側の検索もこれと同じことができますので、興味があれば下記の記事をご覧ください。
今回も @bunさん にアドバイスいただきました。いつもありがとうございます!
以上です。