特定のカテゴリーに絞った検索

24 views
Skip to first unread message

Yuki Endo

unread,
May 20, 2025, 5:11:50 AM5/20/25
to a-blog cms forum
いつもお世話になっております。

トップページやカテゴリーのindexページにある検索(search.html)で、特定のカテゴリーのみに絞って検索できるようにしたいのですが、
どのようにしたらよいかヒントをいただけますと幸いです。

例えば、search.htmlのコピーを作成し、realestateのindexページでは、realestateのカテゴリー記事のみで検索がかかるようにしたいです。

<input type="hidden" name="cid" value="realestate">などで検索条件を追加するのでは?と思ってトライしましたが、うまくできませんでした。

お忙しい中恐れ入りますがご返答いただけますと幸いです。

どうぞよろしくお願いいたします。

遠藤

伊藤淳

unread,
May 20, 2025, 11:19:00 PM5/20/25
to a-blog cms forum
お世話になっております。お問い合わせありがとうございます。
以下お答えします。

出力する内容を決めているのは、モジュールIDで管理しております。
search.html に書かれているモジュールの設定を変更していることで可能です。

> input type="hidden" name="cid" value="realestate">などで検索条件を追加するのでは?

テンプレートからcidで絞り込みたい場合は、valueはコード名ではなく数値のcidを指定ください。
また表示するモジュール側で、URLコンテキストのカテゴリーにチェックをつけてください。

スクリーンショット 2025-05-21 12.17.32.png

これによりテンプレートで指定したcidで絞り込まれるようになります。

ご確認のほどよろしくお願いいたします。


2025年5月20日火曜日 18:11:50 UTC+9 oc.en...@gmail.com:

Yuki Endo

unread,
May 21, 2025, 1:11:00 AM5/21/25
to a-blog cms forum
伊藤様

お世話になります。ご返信いただきましてありがとうございます。
すみません、search.html 内には、モジュールIDが書かれていないのですが、それはあらたにモジュールを追加し、IDを設定するところから始めるということでしょうか?
beginnerテーマで最初にインストールした状態のsearch.htmlは、

<div class="module-section">
<section class="search">
<div class="module-header clearfix">
<h2 class="module-heading">検索</h2>
</div>
<form action="/search.html" method="post" name="searchForm" class="acms-form search-form" role="search">
<div class="acms-form-action">
<input type="search" id="searchForm" name="keyword" value="%{KEYWORD}" size="15" class="search-form-input">
<input type="hidden" name="query" value="keyword">
<span class="acms-form-side-btn"><button type="submit" name="ACMS_POST_2GET" class="acms-btn btn-search"><span class="acms-icon-search"></span><span class="acms-hide-visually">検索</span></button></span>
<input type="hidden" name="tpl" value="/search.html">
<input type="hidden" name="bid" value="%{BID}">
</div>
</form>
</section>
</div>

となっています。
こちらにあらたにモジュールを追加するということでしょうか?

恐れ入りますが、ご返信頂けますと幸いです。

2025年5月21日水曜日 12:19:00 UTC+9 伊藤淳:

伊藤淳

unread,
May 21, 2025, 2:54:14 AM5/21/25
to a-blog cms forum
ご確認ありがとうございます。

themes/beginner/include/parts/search.html はおっしゃる通り検索フォームのテンプレートしかありません。
検索後のテンプレートを、 <input type="hidden" name="tpl" value="/search.html"> で指定しております。

よって標準の状態ですと、themes/beginner/search.html が検索結果ページのテンプレートになります。
themes/beginner/search.html を見ると、@extends("/_entry.html")  の一行のみで、themes/beginner/_entry.html を継承しております。

themes/beginner/_entry.html では Entry_Bodyモジュールがあり、Entry_Bodyモジュールはモジュール設定をしなくてもデフォルトで、URlコンテキストの情報を取得します。

よってご要望の動作を実現するには以下2つの作業をします。


themes/beginner/include/parts/search.html に以下一行をフォームに追加します。これにより現在いるページのカテゴリーが自動的に設定されます。
<input type="hidden" name="cid" value="%{CID}">


次に検索結果ページを用意します。
例えば news カテゴリーの検索結果ページを用意したい場合は、 themes/beginner/news/search.html を用意ください。
中身は、以下にします。
@extends("/_entry.html")

これで実現できると思います。
ご確認のほどよろしくお願いいたします。


2025年5月21日水曜日 14:11:00 UTC+9 oc.en...@gmail.com:

Yuki Endo

unread,
May 21, 2025, 4:32:28 AM5/21/25
to a-blog cms forum
伊藤様

お世話になります。
ありがとうございました!!!できました!

昨日からいろいろ試して挫折しておりましたので、大変助かりました。

いつもありがとうございます。

2025年5月21日水曜日 15:54:14 UTC+9 伊藤淳:
Reply all
Reply to author
Forward
0 new messages