Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2007-03-31 13:50:05

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

半年以上前に作るだけ作って放置していたプラグインです
検索結果ページ専用のNP_ShowBlogsです

スキン
<%SearchResultsEX(template,amount,swType,blogMode,maxresults)%>
引数を省略する時もカンマは必要です
template:使用するテンプレート(default/index)
amount:表示アイテム数
swType:ShowBlogsと同じ(1)
blogMode:ShowBlogsと同じ(all)
maxresults:表示する検索結果の最大数(空白)
です(カッコ内は初期値)

テンプレート
<%SearchResultsEX(maxLen,highlightMode)%>
maxLen:表示されるアイテム等の最大文字数(250)
highlightMode:ハイライト表示する/しない(0:しない/1:する)(1)

ハイライトは独自のclassを指定してますんで、同梱のhighlight.cssを読み込んでやってくださいです
template_sample.txtにテンプレートの記述例を書いてます
NP_ItemBnameはテンプレート変数<%ItemBname%>用

本が出たら本格的にあれこれやりたいと思ってるんですが、ホントに時間が取れるかどうかは不明だったりします
プラグイン事態には2バイトコードは含まれていませんが、UTF-8環境でしか試してないので、もしかするとEUCだとエラーが出るかもしれません

動作報告やバグレポートはこのトピックにお願いします


Attachments:
zip NP_SearchResultsEX-0.08.zip, Size: 7.88 KiB, Downloads: 565

オフライン

#2 2007-03-31 19:17:18

Katsura
メンバー
From: 名古屋
登録日: 2006-06-12
投稿: 19
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

プラグインをインストールしましたら、下記のようなエラーが出てきました。

Plugin installation failed, requires NP_ExtensibleSearch

ということは、http://japan.nucleuscms.org/bb/viewtopic.php?t=1660#12091にある、NP_ExtensibleSearchを、インストールしておかなければならないと言うことでしょうか?

オフライン

#3 2007-03-31 19:44:08

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

Katsura さんの発言:

プラグインをインストールしましたら、下記のようなエラーが出てきました。

Plugin installation failed, requires NP_ExtensibleSearch

ということは、http://japan.nucleuscms.org/bb/viewtopic.php?t=1660#12091にある、NP_ExtensibleSearchを、インストールしておかなければならないと言うことでしょうか?

あ、ごめんなさい
そうです。「NP_ExtensibleSearch」で発生する「PreSearchResults」イベント使って、検索結果をフックしてるんで、インストールされてる環境じゃ無いとインストールできませんです

書き忘れてました :oops:

オフライン

#4 2007-04-01 23:39:25

Katsura
メンバー
From: 名古屋
登録日: 2006-06-12
投稿: 19
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

無事にインストールできました。ありがとうございました。

私は、スキンで利用しているのですが、初期値が働いているでしょうか?

swType:ShowBlogsと同じ(1)

とありますが、省略するとページスイッチは表示されてきません。
1とか2とか入れてやると、表示されてきますので、利用するには何ら支障はないのですが、
()内は省略した場合にデフォルトで設定されるのが仕様ですよね。

オフライン

#5 2007-04-02 15:58:31

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

しづきさん

一通りの検証結果をお伝えします。

1. 引数2つめ、表示アイテム数を1に設定しても最低でも2つ表示される。
検索結果を1つだけ表示というケースは少ないので放置しても問題ないとは思いますが、発見したので一応・・・

2. NP_CustomURL(FancyURL環境?)がないとページスイッチが動作しない
個人的には全く問題ありませんが、恐らく NP_CustomURL が動作している環境を前提で作成されたプラグインなのではないかと。もしそうなら説明欄に付け加えておくといいと思います。

3. テンプレートの文字制限が動作しない?
文字制限を変更しても表示されるものが全く変わらない。私の動作環境だけでしょうか?

4. テンプレートでハイライト非表示に設定すると以下のように表示される

<span class="queryPosition">in Item</span><div class="queryResults"><span class="quer...</div> 

これは・・・バグっぽいです。
とりあえず以上です。


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#6 2007-04-04 09:26:26

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

>Katsuraさん
初期値がうまく動いていなかったようなので修正しました
>Tuckerさん
一つ目:ShowBlogsでやってたのと同じバグでした
三つ目:えーっと、文字数制限が働かないのはハイライトオンの時ですよね?
四つ目:ハイライトオフで検証してないのまるわかり :oops:

ということで、上記4点修正しました

Tuckerさんご指摘の二つ目、「FancyURL環境がないとページスイッチが動作しない」に関しては、現象が再現できなかったんですが、今回修正のついでにURL生成周りをかなり変更したんで、もういちど確認していただければと思います
また、このバージョン(0.08)で、NP_ExtensibleSearchのコードを一部取り込んで、NP_ExtensibleSearch無しでもインストール出来るようにしてみました
NP_ExtensibleSearchがインストールされている環境ではNP_ExtensibleSearchを呼び出し、インストールされていない場合は自前のコードを使うようになってます

一旦アンインストールしてから再度インストールしてください
引き続きバグ報告お願いします

オフライン

#7 2007-04-05 11:08:02

Tucker
メンバー
登録日: 2006-06-20
投稿: 159
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

しづきさん
早速プラグインのアップデートお疲れ様です。プラグインがひとつになって楽になりました。ありがとうございます。

さて、再度検証してみましたのでお伝えします。

shizuki さんの発言:

>三つ目:えーっと、文字数制限が働かないのはハイライトオンの時ですよね?

はい、そうです。
ハイライトオンの時には、ハイライト語の周辺を100文字前後表示するようになってるんでしょうか?

shizuki さんの発言:

「FancyURL環境がないとページスイッチが動作しない」に関しては、現象が再現できなかったんですが、今回修正のついでにURL生成周りをかなり変更したんで、もういちど確認していただければと思います

再度確認してみました。
まず、通常URLモードで初回の検索はできます。URLを見ると

/?query=<検索語>&amount=0&blogid=1

のようになってますが、ページスイッチのURLを見ると

/?blogid=1&search/<検索語>/page_2.html

のようにURL表示がされています。

ここからはバグ報告です。
1. プラグインオプションの1行目、コメントを検索対象に含めるかどうかでNOを選択すると以下のSQLエラーが発生します(”ランキング”で検索した結果)。

mySQL error with query SELECT i.inumber as itemid FROM nucleus_item as i left join nucleus_plugin_tb as t on i.inumber = t.tb_id WHERE i.idraft = 0 and i.itime <= "2007-04-05 10:46:46" and i.iblog in (1) and (((i. LIKE '%ランキング%') or (t.title LIKE '%ランキング%') or (t.excerpt LIKE '%ランキング%') )): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%ランキング%') or (t.title LIKE '%ランキング%') or (t.excerpt ' at line 1

YESの場合は発生しません。その他のオプションは問題なしです。

2. ハイライトオン/オフとも検索語句がタイトルのみに入っている場合、アイテム本文が表示されません。(検索語句が入ってなくても引っ掛かる場合あり?)
動作的には正しいのかもしれませんが・・・検索結果表示に本文が全く表示されないのは改善要望をさせて頂きたいところです。


Tucker
NucleusCMS 入門サイト計画中&アイデア募集中

オフライン

#8 2007-04-05 13:21:27

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

すばらしい、です。
これで配布停止中のNP_SearchEXはいらなくなるかな、と思います。

要望があったりするのですがよいでしょうか。

.google風に検索結果を表示したりしてるんですが、そこで

~の検索結果のうち  約 56 件中 1 - 20 件目

みたいな表記を出すことは出来ますでしょうか。

オプション画面で 記述フォーマットを指定できて、スキンオプションで表示する、しないを選べるのがいかなと贅沢などを言ってみたり… 8)


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#9 2007-09-14 19:34:15

sucoshi
メンバー
登録日: 2007-04-09
投稿: 68

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

<%SearchResultsEX(template,amount,swType,blogMode,maxresults)%>

のBlogModeなんですが、「(カッコ内は初期値)」だとすると、

blogMode:ShowBlogsと同じ(all)

ではなくて、

blogMode:ShowBlogsと同じ();=カレントブログのみ

ではないでしょうか?

141行目

    $bmode = '', // blog mode // 'all' //sucoshi

155行目

    $bmode = '';// 'all' //sucoshi

のようにプラグインをいじくったら、引数を省略しても NP_ShowBlogs と同じようにカレントブログのみの検索結果になりました。

オフライン

#10 2010-01-07 23:34:30

naha
メンバー
登録日: 2004-10-31
投稿: 68

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

お世話になります。Nucleusコアver3.41を使用しています。
このプラグインでできる、

・ページング機能
・複数の検索語句についてそれぞれ違うハイライト表示ができる機能

と、従来の<%searchresults%>の

・アイテムの中身を全部表示

を組み合わせたいと思っています。

アイテムの中身を全部表示するために、
NP_SearchResultsEXの717行目、722~755行目をコメントアウトし、
また、664行目
        $results['Item'] = strip_tags($item->body).strip_tags($item->more);
で、タグを取っているようなので、
        $results['Item'] = $item->body.$item->more;
としてみましたが、今度は<%image%>などが<img ...>に置き換わってくれず、
これ以降どうしたらいいかわからず悩んでいます。
なんだか変に難しい方向に考えている気もするのですが、
希望の表示をさせるためにはどうしたら良いでしょうか?

オフライン

#11 2010-01-08 02:51:46

floors
メンバー
From: Okinawa, Japan.
登録日: 2006-10-16
投稿: 48
ウェブサイト

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

naha さんの発言:

<%image%>などが<img ...>に置き換わってくれず

タグに置き換えるのが目的であれば、下記プラグインの導入が手軽かもしれません :idea:
ご参考くださいませ。

NP_NCTagConv - アイテム中の<%image%>を<img />タグに変換
http://japan.nucleuscms.org/bb/viewtopic.php?t=4130

オフライン

#12 2010-01-08 08:46:47

naha
メンバー
登録日: 2004-10-31
投稿: 68

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

floorsさん、ありがとうございます。
<%image%>以外にも<%popup%>を使ったり、
またNP_CustomThumbnailを使用しているので(最初に言わなくてすみません)、
単純にタグの置き換えだけではいけないのかなあ…と思っています。

あと、上記の質問の訂正です。
ページスイッチの表示部分をいじったので、行数が合っていませんでした。
正確には、
709行目
$tmpStr    = mb_split("<span class='highlight", $value);
と、714~751行目
$lastp     = mb_strwidth($tmpStr[0], _CHARSET);
  ~
}
をコメントアウトし、
654行目
$results['Item'] = strip_tags($item->body).strip_tags($item->more);

$results['Item'] = $item->body.$item->more;
に変えました。

引き続きよろしくお願いいたします。

オフライン

#13 2010-07-16 11:49:29

shinshinshin
メンバー
登録日: 2008-03-23
投稿: 7

Re: ページング対応 <%searchresults%> NP_SearchResultsEX

こんにちはnucleus3.4.1、EUC環境で使わせていただいてます。
そのままで普通に動いたのですが、どうやらIEのみで検索時にinput errorが出るようです。
× query=土
○ query=%C5%DA
という状況です。
最初の検索は上記のようにして対応できたのですが、
ページスイッチに表示されるのは「土」となるため、やはりinput errorになってしまいます。
対策方法はないものでしょうか。

オフライン

Board footer