freo公式検索プラグイン改良版
公式検索プラグインで一部機能を追加したプラグインです。
freo公式検索プラグインを元にしているので二次配布となります。
二次配布許可は作者であるないとさんにいただきました。
追加機能
プラグインメニューによる検索対象の追加
└※複数階層対応
ラジオボタンによるワード検索とタグ検索の切り替え
└※オンオフが可能
※共にoptionの使用は考慮されていませんので動作保証対象外です。
ダウンロード
※追加機能に関しては公式やないとさんへ問い合わせがないようお願いします。
設置方法
公式の方法と同様です。
サイドバーへの設置
<div class="utility">
<h3>キーワード検索</h3>
<div class="content">
<form action="{$freo.core.http_file}/search" method="get" name="search">
<fieldset>
<legend>キーワード検索フォーム</legend>
<dl>
<dt>キーワード</dt>
<dd>
<!--{if $freo.config.plugin.search.search_radio}-->
<input type="text" name="{if $document.search.name =='word'}word{/if}{if $document.search.name =='tag'}tag{/if}" size="50" value="{if !$smarty.get.tag}{if ($smarty.get.word == '')}サイト内検索{else}{$smarty.get.word}{/if}{/if}{if $smarty.get.tag}{if ($smarty.get.tag == '')}サイト内検索{else}{$smarty.get.tag}{/if}{/if}" />
<!--{else if}-->
<input type="text" name="word" size="50" value="{$smarty.get.word}" />
<!--{/if}-->
</dd>
<!--{if !$smarty.get.page_name}-->
<dt>検索対象</dt>
<dd>
<!--{if $freo.config.plugin.search.search_radio}-->
<label for="search_word"><input type="radio" name="tgt" value="" {if !$smarty.get.tag}checked{/if} onclick="document.search.elements[1].name ='word'" id="search_word">キーワード検索</label>
<label for="search_tag"><input type="radio" name="tgt" value="" {if $smarty.get.tag}checked{/if} onclick="document.search.elements[1].name ='tag'" id="search_tag">タグ検索</label>
{literal}
<script type="application/javascript">
<!--
window.onload = $(function setValue_on(){
var url_get = document.URL;
if (url_get.search(new RegExp("search.*tag=")) != -1){
document.search.elements[1].name ='tag';
}
else if (url_get.search(new RegExp("")) != -1){
document.search.elements[1].name ='word';
}
});
function setValue(){
var url_get = document.URL;
if (document.search.elements[1].name == 'tag'){
var element = document.getElementById("search_tag");
element.removeAttribute('name')
}
else if (document.search.elements[1].name == 'word'){
var element = document.getElementById("search_word");
element.removeAttribute('name')
}
};
// -->
</script>
{/literal}
<!--{/if}-->
<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>
<!--{if $freo.config.plugin.search.p_id}-->
<option value="{$freo.config.plugin.search.p_id}"{if $smarty.get.target == $freo.config.plugin.search.p_id} selected="selected"{/if}>{$freo.config.plugin.search.p_name}</option>
<!--{/if}-->
</select>
</dd>
<!--{/if}-->
</dl>
<p><input type="submit" value="検索する" onclick="setValue()" /></p>
</fieldset>
</form>
</div>
</div>
謝辞
freo及び公式検索プラグインの作者さん(ないとさん)
素敵なプラグラムを作っていただきありがとうございます。 この場を借りて改めて感謝します。
改造経緯
このブログでは創作に使えそうな事柄を辞書機能として登録しているおり、それの検索用に公式の検索プラグインを使用しています。
しかし少し不便で既存ではプルダウンメニューから新規に対象を追加できません。
特定の階層以下のみを検索対象にしたい場合の方法は公開されていますが、プルダウンメニュー非対応としてです(公式参照)
なのでプルダウンメニュー対応化させました。
次回の更新では複数追加できるようにしたいと思います(いつになるのかな……)
Notes
- 2013/01/03
- ver.1.3.0元プラグインver.1.4.0に合わせて調整
- 2012/12/02
- ver.1.2.1 ミスっていた部分を修正
- 2012/12/02
- ver.1.2.0ラジオボタンによる検索種類の切り替え機能の追加
対象を"すべて"にした場合、ヒット数がおかしくなるのを修正 - 2012/10/25
- ver.1.1.0 設定管理で追加対応。階層対応
- 2012/10/23
- ver.1.0.1 複数階層に対応
- 2012/10/22
- ver.1.0.0 二次配布開始

