plugins:choppeddisc

NP_ChoppedDisc.php

Googleライクな検索結果を表示するためのプラグイン。
検索キーワード前後の文章を切り取って指定文字数に記事を丸めることができる。 標準のテンプレート変数<%syndicate_description%>を利用すると検索キーワードがハイライト表示されないが、NP_ChoppedDiscでは可能。

General Plugin info
作者: nakahara21
最新のバージョン: 0.7(2005/08/19)
入手先: 作者サイト内の記事
ソース: NP_ChoppedDisc.phpのソースコード
動作サンプル: 作者サイトでの検索結果表示
フォーラム参照先: フォーラム?t=1305

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする

このプラグインの使い方

検索結果を表示するために使うテンプレートの『アイテムの本文』から呼び出します。

<%ChoppedDisc(整形後の文字数,ハイライト表示指定)%>
  • 整形後の文字数
    • バイト数で指定します(全角文字は2です)。
    • 指定されたバイト数は目安になります。多少の増減があります事をご了承下さい。
    • デフォルトは250です。
  • ハイライト表示指定
    • 0:ハイライト表示しない , 1:ハイライト表示する のいずれかを指定。
    • デフォルトは0(ハイライト表示なし)
    • ハイライト表示の定義は、このプラグインの呼出元のテンプレートの『ハイライト表示』部分で行ってください。

オプション

  • オプションはありません。

使用例

Googleライクな検索結果を表示するサンプル。

1.新規テンプレート『gsearch』作成。

『アイテムの本文』は

<dl> 
<dt><a href="<%itemlink%>"><%title%></a></dt> 

<dd style="word-break:break-all;"> 
<%ChoppedDisc(250,1)%> 
<div style="font:normal 80% arial;color:#888;"> 
<i><a href="<%itemlink%>"><%itemlink%></a></i> 
( <%date%> <%time%> <%edit%> ) 
</div> 
</dd> 
</dl>

『ハイライト表示』は

<b>\0</b>

と定義して「テンプレートの更新」ボタンを押す。

2.スキンにてこのテンプレートを使用する。 現在使用しているスキンの「検索ページ」タイプに

<%searchresults(gsearch)%>

と書く。

Tipsと裏技

一部の記事整形系プラグインについて

このプラグインは、v0.7では、データベースに登録されている記事データを元に加工しますので、記事表示を拡張するためのプラグインタグがそのまま表示されてしまう場合があります。 そのため、切り出す前にプラグインによる整形をあらかじめ行う必要があります。

v0.7ではNP_HighlightSourceの事前整形に対応しており、以下の部分で行っています。

		if ($manager->pluginInstalled('NP_HighlightSource')) {
			$tempPlugin =& $manager->getPlugin('NP_HighlightSource');
			preg_replace_callback("#<hs(|:[^>]+?)>(.*?)</hs>#s", array(&$tempPlugin, 'phpHighlight'), $item->body); 
			preg_replace_callback("#<hs(|:[^>]+?)>(.*?)</hs>#s", array(&$tempPlugin, 'phpHighlight'), $item->more); 
		}

検索結果一覧を任意の件数ごとにページ分割

改造情報

開発履歴

  • version 0.7 [2005-08-19]
    • キーワード前後の抜き出しロジックを全面改訂。mb_split除去。
    • ハイライト表示定義をハードコーディングからテンプレート内定義に変更。
  • version 0.5 [2005-08-10]
    • 複数キーワードのハイライト表示に対応。
  • version 0.2 [2004-08-25]
    • 初回リリース
 
plugins/choppeddisc.txt · 最終更新: 2011/03/23 21:28 (外部編集)