サポート

総合検索ページで検索条件を追加できますか

miya (2016/04/26 13:06)

設置URL : http://mobelhandler.com/

上記の総合検索のページにおいて、
検索対象オプションは
すべてorエントリーorページの3つの選択がデフォルトですが

追加条件で、特定ID(ギャラリー%/)のページに範囲をしぼって検索できますでしょうか?

■デフォルトの検索条件
すべて
エントリー
ページ

上記に加えてgalleryという名がついたページIDのみから検索(追加できますか)
(page_id" value="gallery/%")←このような条件を追加することは、下記タグに追加で出きるのでしょうか・・・

<select name="target">
<option value="">すべて</option>
<option value="entry"{if $smarty.get.target == 'entry'} selected="selected"{/if}>ブログ内</option>

<option value="page"{if $smarty.get.target == 'page'} selected="selected"{/if}>ページ全体</option>

</select>

(トピックをまたいで質問してしまい申し訳ありません。)

ミツ (2016/04/27 14:18)

URL : http://32877.xii.jp

こんにちは。

あくまで一案になりますが、[freo/templates/plugins/search/default.html]の9~18行目

<!--{if !$smarty.get.page_name}-->
<dt>検索対象</dt>
<dd>
<select name="target">
<option value="">すべて</option>
<option value="entry"{if $smarty.get.target == 'entry'} selected="selected"{/if}>エントリー</option>
<option value="page"{if $smarty.get.target == 'page'} selected="selected"{/if}>ページ</option>
</select>
</dd>
<!--{/if}-->

を、

				<dt>検索対象</dt>
					<dd>
						<select name="target" id="selectTarget">
							<option value="">すべて</option>
							<option value="entry"{if $smarty.get.target == 'entry'} selected="selected"{/if}>エントリー</option>
							<option value="page"{if $smarty.get.target == 'page'} selected="selected"{/if}>ページ</option>
						</select>
						<div id="search_pid">
							<input type="hidden" name="page_name" id="page_name" value="検索画面に表示させたい文字列" />
							<label for="page_id"><input type="checkbox" name="page_id" id="page_id" value="絞り込みたいページID" {if $smarty.get.page_id} checked{/if} />ギャラリーのみ検索</label>
						</div>
					</dd>

のように変更してください。
また、[freo/js/default.js]など、search画面で読み込んでいるJS内に、

    $(function(){
    	var defaultVal = $('#page_name').val();
    	if ($('#selectTarget option:selected').val() == 'page') {
        	$('#search_pid').show();
        } else {
            $('#search_pid').hide();
            $('#page_name').val('');
    	}
        $('#selectTarget').change(function(){
            var val = $(this).val();
            if (val == 'page') {
                $('#search_pid').show();
            } else {
                $('#search_pid').hide();
            }
        });
        $('#page_id').change(function() {
            if ($(this).is(':checked')) {
                $('#page_name').val(defaultVal);
            } else {
                $('#page_name').val('');
            }
        });
    });

のように加筆してください。

miya (2016/04/30 17:04)

ミツさん、本当にたすかりました!ありがとうございました

返信

  • この記事に返信します。
  • 返信の際は、設置URL以外の項目は入力必須です。
投稿フォーム
名前
設置URL
本文(本文の装飾について
編集キー(投稿した記事を編集する際に使用します。)
投稿キー(スパム対策に、投稿キー を半角で入力してください。)