しらぎく検索スクリプトをH"リンクで利用するための方法です。
H"リンクでは、通常のフォームが使えないため、フォームの代わりに専用の入力ページへリンクします。
この入力ページへのURIは以下のようになります。
http://検索スクリプトのURI?d=検索対象となるサブディレクトリ&r=入力ページ等から戻る際の戻り先URI&ttl=入力ページの見出し
http://検索スクリプトのURI?mlt=設定名&d=検索対象となるサブディレクトリ&r=入力ページ等から戻る際の戻り先URI&ttl=入力ページの見出し
この場合、「mlt=設定名」の部分には、対象となる設定ファイル「sConfig-○○.pl」の「○○」の部分が入ります。
mlt=Sub」となります。検索対象となるサブディレクトリは、
@directoriesで指定した相対パスのうちの一つです。入力ページ等から戻る際の戻り先URI
は、
$root_uriで指定したディレクトリ基準の相対パスhttp://スキーム名で始まる絶対URIのいずれかを指定します。
H"リンクの場合、端末に依りリファラを送るものとそうでないものがあるようなので、必ず指定して下さい。
入力ページの見出しは、入力ページを表示させた際に表示される見出しの文字です。省略しても構いませんがその場合は検索と表示されます。
実際にこのページにアクセスすると、検索語の入力を求めてきますので、入力すると検索結果が表示されます。
実際にオープンネットコンテンツで利用する場合は、以下のような感じになるでしょう。
from: http://ページのURIsubject:ページの題名content-type: Text/X-PmailDX<SEL=1;http://検索スクリプトのURI?d=検索対象となるサブディレクトリ&ttl=入力ページの見出し> … (ページの本文) …1⇒コンテンツ内の検索
拙作しらぎくモバイルシステムにはH"リンクで通常のフォームを取扱う機能がありますが、H"リンクでしらぎく検索スクリプトを利用するにはもう一つクエリを追加する必要があります。
しらぎくモバイルシステムなど、通常のフォームがH"リンクでも利用出来るシステムで利用する場合は、以下のように<input type="hidden" name="f" value="1">要素を追加して下さい。
<form action="http://検索スクリプトへのURI" method="get"><p><input type="hidden" name="mlt" value="○○"><!-- sConfig-○○.plの設定を対象とする場合のみ --><input type="text" name="w"><input type="hidden" name="d" value="検索対象となるサブディレクトリ"><input type="hidden" name="r" value="戻り先URI"><input type="submit" value="検索"><!-- dev hlink --><input type="hidden" name="f" value="1"><!-- /dev --></p></form>
この場合、<input type="hidden" name="f" value="1">要素はH"リンク以外で有効にしても問題はありませんが、無駄なので機種別コンテンツ宣言を用いてH"リンク以外では無効にします。
また、WAP 1.0及びH"リンクの場合、WMLないしオープンネットコンテンツの機能を利用した擬似フォームに変換されます。
勿論、機種別コンテンツ宣言を活用して以下のようにH"リンク以外のフォームとH"リンク専用のフォームへのリンクを組み合わせる事も出来ます。
<!-- H"リンク以外 --><!-- dev - hlink --><form action="http://検索スクリプトへのURI" method="get"><p><input type="hidden" name="mlt" value="○○"><!-- sConfig-○○.plの設定を対象とする場合のみ --><input type="text" name="w"><input type="hidden" name="d" value="検索対象となるサブディレクトリ"><input type="hidden" name="r" value="戻り先URI"><input type="submit" value="検索"></p></form><!-- /dev --><!-- H"リンクのみ --><!-- dev hlink --><ul><li><a href="http://検索スクリプトのURI?mlt=設定名&d=検索対象となるサブディレクトリ&ttl=入力ページの見出し">検索</a></li></ul><!-- /dev -->
この場合、WAP 1.0ではWMLの機能を利用した擬似フォームに変換されます。
複数の検索ディレクトリの中から撰べるようにするには、パラメータdの値の異なる検索ページへのリンクを複数用意する事で対応出来ます。
例えば、オープンネットコンテンツで複数のディレクトリから検索先を撰んで検索出来るようにする場合は、以下のような感じになるでしょう。
from: http://ページのURIsubject:ページの題名content-type: Text/X-PmailDX<SEL=1;http://検索スクリプトのURI?d=検索対象となるサブディレクトリ1&ttl=入力ページの見出し> …<SEL=n;http://検索スクリプトのURI?d=検索対象となるサブディレクトリn&ttl=入力ページの見出し> … (ページの本文) …検索したいコンテンツを選んでください。1⇒コンテンツ1内2⇒コンテンツ2内… n⇒コンテンツn内
H"リンクでは最大三十件までの検索となります。
$max_resultsでの設定で三十件以上検索する設定でも、H"リンクでは三十件で検索を打ち切ります。