デフォルトの検索テンプレート

デフォルトの検索テンプレート(/mt/search_templates/default.tmpl)についての質問を頂いたんすが、いちいち質問に答えるカタチだと色々面倒でしかも繁雑なので、ワタシが現在使ってる「検索テンプレート」をそのまま貼っときます。

ワタシゃ検索テンプレートにはサイドバーを付けてないんで、多分このサイトに特化した記述は含まれてない→汎用だと思われ。

Permalinkを■に張ったり、日付に時刻を出さなかったり、カテゴリを[]で挟んだり等の部分はワタシの好みなんで、気に入らなければ好きにいじってください。やってることは基本的にカテゴリーアーカイブを折り畳むと同じです。

特徴(と言えるほど大した物でもないんですが:^^;)は

  1. Entryの内容を300字まで表示
  2. Bulkfeedsで類似エントリーを検索可能
  3. 直訳ながら完全日本語化
  4. EUC決め打ち

等でしょうか??

なお、本文をtrim_toで区切ってる→/tmpl/cms/bm_entry.tmplをこのように改造してないと末尾文字が化けます。(mt-trimj2に置き換えれば改造しなくても大丈夫)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />

<title>検索結果</title>

<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<$MTBlogURL$>index.rdf" />
</head>

<body>

<div id="banner">
<h1><a href="<$MTBlogURL$>">検索結果</a></h1>
</div>

<div id="container">
<div class="blog">

<form method="post" action="<$MTCGIPath$><$MTSearchScript$>">

このサイトを検索:<br />
<input type="text" size="30" name="search" value="<$MTSearchString$>" /> <input type="submit" value="検索" /><br/>
<input type="checkbox" name="CaseSearch" /> 大文字/小文字の区別 <input type="checkbox" name="RegexSearch" /> 正規表現検索

</form>

<MTSearchResults>

<MTBlogResultHeader>
<h2 class="date"><$MTBlogName$>の検索結果</h2>
</MTBlogResultHeader>

<div class="blogbody">
<h3 class="title"><a href="<$MTEntryPermalink$>">■</a> <$MTEntryTitle$></h3>
<$MTEntryDate format="%Y/%m/%d"$> [<MTEntryCategories glue=", "><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></MTEntryCategories>]
<div class="blogbody"><$MTEntryBody sanitize="all" trim_to="300"$>.....</div><br />
</div>

</MTSearchResults>

<MTNoSearchResults>
<h2>"<$MTSearchString$>" を検索しました</h2>
<div class="blogbody">
<p>"<$MTSearchString$>" を含むページはみつかりませんでした.</p>
</div>
</MTNoSearchResults>

<MTNoSearch>
<h2 class="date">検索方法</h2>

<div class="blogbody">
<p>引用符"..."で単語群を括る事により、「単語」ではなく「フレーズ」として検索出来ます:</p>

<blockquote><pre>"movable type"</pre></blockquote>

<p>AND, OR, NOT のような条件を指定した検索にも対応しています:</p>

<blockquote><pre>personal OR publishing</pre></blockquote>

<blockquote><pre>publishing NOT personal</pre></blockquote>
</div>
</MTNoSearch>

<form action="https://bulkfeeds.net/app/search2" method="GET" name="f" target="_blank">
<b><a href="https://bulkfeeds.net/" target="_blank">Bulkfeeds</a>で検索 <input size="30" type="text" name="q" value="<$MTSearchString$>" /><input value=" Search " type="submit" name="submit" />
<a href="https://bulkfeeds.net/app/search2?q=<$MTSearchString$>&ie=euc-jp" target="_blank">
<img align="middle" alt="RSS" border="0" src="rss.gif"></a><br />
ソート方法
<input value="score" type="radio" name="sort" />
スコア順
<input value="date" type="radio" checked name="sort" />
日付順
<input type="hidden" name="ie" value="euc-jp" />
</form>

</div>
</div>

</body>
</html>

/mt…というか「mt-comments.cgiと同じトコロ」にrss.gifというRSSな画像を配置してます。


ちょこちょこといじって上記と変わってきたため、テンプレート公開用のPHPスクリプトを作成し、実物ファイルを見られるようにしました。

こちらは元々ファイル→改めてファイル化してバックアップする必要が無いんで、ホンマにただ表示してるだけです(笑)

echo "<TEXTAREA rows=\"8\" cols=\"80\">\n";

while ($buf = fgets($fp, 8192)) {

$buf = htmlspecialchars($buf);

echo "$buf\n";

}

echo "</TEXTAREA>\n";