カスタムコンテンツを関連データで絞り込む方法について

設置フォルダ: /var/www/html/
データベース: MySQL
SQLモード: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
baserCMSバージョン: 5.0.21
CakePHPバージョン: 4.4.17

初期データでサンプルのカスタムコンテンツ「求人情報」を、コンテンツ管理から追加して、フロントページで表示。
getパラメーターの「?recruit_category=1」、この後ろの数字を直接変えてアクセスすることで表示が変わる、絞り込めることを確認しました。

デモサイトでも再現できました。
https://trial.basercms.net/recruit/?recruit_category=1
これは表示できるけど、
https://trial.basercms.net/recruit/?recruit_category=2
これは表示されない。つまり絞り込めてる。

で独自カスタムコンテンツを作成し、サンプル同様に関連データを作成し、
上記同様にフィールド名でgetパラメーターを付けても表示が変わらない、絞り込みできないです。
どこら辺が間違えているのか、サンプルの「求人情報」と何が違うのか、。
・こうすると検索のgetパラメーターを受け付けない
・検索のgetパラメーターは、こうすると有効になる
など、何かヒントだけでも頂ければと思い、投稿しました。

なお独自に追加したカスタムコンテンツは、「公開する」、
「サイト内検索の検索結果より除外する」のチェックは外しています。

大きく異なる点としては、
$this->BcBaser->element('custom_entries_search')
は使っておらず、独自にgetパラメーターを付けてアクセスしています。
とはいえ上記エレメントでも特殊なことはしていなそうなので、おそらく関係ないと踏んでいますが、、、

search_target_front = NULL
とりあえず、これが原因でした。
で、これを管理画面のどこから変更するのか、分かりませんでした、
どこかにチェックボックスがあるはずだと思うんですが、

かなり強引ですが、以下のようにして、とりあえず絞り込めるようになりました。

custom_linksのIDを探す
select * from custom_links where custom_field_id=<対象のID>;

アップデートする
UPDATE custom_links SET search_target_admin = 1, search_target_front = 1 WHERE id = <対象のID>;

チェックボックスの場所など、分かる方がいましたら、お願いします、、

@hideichi
こんにちは。

試してみましたが、検索対象にするかどうかは管理画面側で設定可能なようです。

まず、カスタムコンテンツに紐づけているテーブルの設定を開いて、
利用中のフィールドから対象の関連データの設定>詳細編集を開いてください。

image

設定画面が開くので一番下までスクロールして、
「テーマ、WebAPIにおいて検索対象にする」をチェックして保存してください。

これでgetパラメータでも絞り込みが機能するようになると思います。

返信ありがとうございます。

見つけました、ありがとうございます。
ところで、このモーダル、ブラウザを縮小しないと一番下が表示できなくて、最初はわかりませんでした。
たぶんプレビューのあたりが邪魔してるんだと思います。

当方の環境
macbook air m2
解像度 1710 x 1112
ブラウザ:chrome