カテゴリ | |
---|---|
サマリ | 検索フォームをページ中に指定したい |
バージョン | 1.4 |
投稿者 | いとう |
状態 | 完了 |
投稿日 | 2003-07-22 (TUE) 10:53:26 |
このサイトのように、検索フォームをページ中に埋め込みたいのですが、searchプラグインはコマンドでしか提供されていません。どうすれば文中にフォームを埋め込めますか?
このサイトの InterWikiName の下の方を見ると大きなヒントがあります。InterWikiNameをこのように設定しておいて、lookup プラグインを使って「#lookup(検索,検索,)」とやってやると検索フォームが出ます。キーワードは、InterWikiですね。後は、lookup プラグインにスタイル設定を追加してスタイルシートで定義してやればここみたいに出来ます。lookupプラグインは使いでがありますよ。
単語検索 |
InterWikiNameが何であるかやっと分かりました。これは便利ですね。ただし、「lookupのスタイル設定」や「スタイルシート」というのが分かりません。もう少し詳しく教えて頂けませんか?自分でやってみて、上の例では「検索:」という文字列が出ないようにする設定のことだと想像していますが、具体的な設定方法が分かりません。
ははぁ、なるほど、仕組みは分かりました。ただ、わたしの場合はボタンが表示されない… :( わたしもスタイル設定の解説希望、です。
プレビューだとボタンは表示されませんよ。「更新」をして見てください。
私もまだまだ勉強中なのでわかっていることだけ。「検索:」を消すのは lookupからその部分を消している為だと思います。スタイル設定は、lookupプラグインでは設定されてないので、lookup.inc.phpをカスタマイズするのとそれに対応するスタイルをskin/default.cssに追加することで達成されます。XHTMLでは、画面デザインはCSSの担当なのでそちらで設定するということになります。これらのプラグインは、htmlを生成してそれをplugin.phpに渡しているのでその部分をカスタマイズすればいいんです。標準のlookup.inc.phpでは
........ $ret = <<<EOD <form action="$script" method="post"> <<===== ここ <div> <input type="hidden" name="plugin" value="lookup" /> <input type="hidden" name="refer" value="$s_page" /> <input type="hidden" name="inter" value="$iwn" /> $iwn: <<===== ここ <input type="text" name="page" size="30" value="$default" /> <input type="submit" value="$btn" /> </div> </form> EOD; return $ret; ........となっていますが、「検索:」を消すには $iwn: を消せばよくて、かつこのフォームに スタイルを設定するには、
<form class="lookup_form" action="$script" method="post">のようにクラス呼出を追加して、さらにクラス定義は、
/* \lookup.inc.php */ .lookup_form{ margin:.4em 0px .4em 0px; text-align:center; } .lookup{ margin:auto; margin-top:0px; margin-bottom:0px; text-align:center; }みたいな定義を skin/default.css に追加してやるって感じですね。(ここのdefault.css の記述です。)
なお、このスタイルの追加は、開発項目に入っていて検討中で未実装の項目のようです (dev:PukiWiki/CSSのclass一覧 参照)
ボタン表示の件は了解です。 :)
スタイル設定の件は $iwn: を削除するのではなく、スタイルシートで表示させない(文字色を背景色と同等にする、などではなく、そもそも出力させない)ような制御ができるのかな?と思って、お尋ねしました。まあ、わたしの場合は $iwn: が表示されても支障ないので、気にしないことにします。