ホーム > フォーラム > 質問箱 > XOOPS検索の結果ページのレイアウトについて

XOOPS検索の結果ページのレイアウトについて
投稿者: amigon99 | 投稿日時: 2011/11/14 20:27 | 閲覧: 5171回
amigon99

はじめまして。
http://xoopscube.jp/forum/4369に出ている質問に似ているのですが、
XOOPS検索には本文表示機能がありますが、
検索結果の本文表示の行数を指定する事は出来るのでしょうか?

また、検索ワードの文字をボールド表示にしたりできますか?

XOOPS内のテンプレートを修正すれば出来るのでしょうか?
テンプレートをいじってみたのですが、うまく行きません。
よい方法が有ればご教示ください。

主に表示させたいモジュールはpicoになります。

コメント(7)

Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: bindi | 投稿日時: 2011/11/17 7:57
bindi

私はXOOPS検索モジュールは使ったことがありません。

引用:
検索結果の本文表示の行数を指定する事は出来るのでしょうか?

検索結果を全部表示している。
その結果の件数を任意に指定したい。って、事でしょうか?

引用:
また、検索ワードの文字をボールド表示にしたりできますか?

入力する文字ですか?
それなら CSS で指定出来ます。
検索文字を入れる input タグに ID を指定して、それをボールド指定に。

引用:
XOOPS内のテンプレートを修正すれば出来るのでしょうか?

検索結果を表示するのは XOOPS検索モジュールだと思います。
そこのテンプレートを修正すれば良いと思います。

引用:
主に表示させたいモジュールはpicoになります。

XOOPS検索モジュールがやる仕事なので、その他のモジュールは関係無いです。
Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: SAK-AXYZ | 投稿日時: 2011/11/17 9:25
SAK-AXYZ
引用:
XOOPS検索には本文表示機能がありますが、
検索結果の本文表示の行数を指定する事は出来るのでしょうか?


行数で、というのは、現実問題としてどーやってもムリです(;´Д`)
ただし、引用される文字数を変更することは可能と思われます。

検索対象となる各モジュール用のプラグインファイルおよび、xoops_trust_path/modules/pico/search.phpを見ると、

$ret[$i]['context'] = search_make_context($context,$queryarray);


とか

$context = search_make_context( $full_context , $keywords ) ;


となっていますよね。
つまり、本文の抽出引用は、search_make_context というfunctionが
行っているという次第です。
で、modules/serach/function.php の初っぱなに

function search_make_context($text,$words,$l=255)


……ってのがありますね。
この $l=255 ってのが、引用される文字数になります。
ですので、この部分の数値を変えることで、文字数を変更することは可能だろうな、と。
※自分で試してはいないので保証の限りではないですが(^^;


引用:
また、検索ワードの文字をボールド表示にしたりできますか?


方法は2つです。
1)searchモジュール側で処理
 上記のfunction内で、引用表示する本文を生成しているわけですが
 その末尾で、検索対象とした文字群[$words]を<b>なり<strong>なり
 あるいは特定の span class なりで挟むようにする必要がありますね。

2)各モジュール側(あるいはプラグイン)で処理
 picoの search_make_context( $full_context , $keywords ) とか
 あるいは各モジュールのプラグインのsearch_make_context( $full_context , $queryarray)
 などなどのあとで、$context または $ret[$i]['context'] の中身を
 foreach( $keywords as $keyword ) または foreach( $keywords as $queryarray )で
 ぶん回して、str_repalceで、検索対象とした文字群[$words]を<b>なり<strong>なり
 あるいは特定の span class なりで挟むように、って感じですね。

引用:
主に表示させたいモジュールはpicoになります。


picoの場合、先にも記したとおり、プラグインではなく xoops_trust_path/modules/pico/search.php で
検索に対する処理を行なってますので見てみてください(・∀・)
Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: marine | 投稿日時: 2011/11/18 17:40
marine

余り良い答えではないかもしれませんけど・・・
Googleのサイト内検索を利用されてはいかがでしょうか?
XOOPSの検索機能より、はるかに使いやすい検索機能ですし。

引用:
検索結果の本文表示の行数を指定する事は出来るのでしょうか?


この件については、ちょっと良く判りませんが・・・

引用:
また、検索ワードの文字をボールド表示にしたりできますか?


これは、表示された検索結果ページ内の概要表示された文字列中にある「検索ワード」部分がボールド表示される、ということですよね?

Googleサイト内検索なら、確かボールドだけではなく、黄色いマーカー表示などもされたように思います。
iFrameを使うとかすれば、違和感なく利用できるのではないでしょうか?

それとも、ハイパーエストレイヤーあたりの検索機能をサーバに追加すれば、これに似た機能を実現できると思いますけど・・・
レンタルサーバでは難しいのかな?
#20972 | | 返信する |
Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: SAK-AXYZ | 投稿日時: 2011/11/18 19:28 | 親コメント: #20972
SAK-AXYZ
引用:
Googleのサイト内検索を利用されてはいかがでしょうか?
XOOPSの検索機能より、はるかに使いやすい検索機能ですし。


確かに、「特定モジュールだけ検索させる(=検索対象から外したいモジュールがある)」ってな
使い方を希望しない限り、使い勝手的にはGoogleさんの方がいいですね(^^;
Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: marine | 投稿日時: 2011/11/19 0:41 | 親コメント: #20973
marine

SAK-AXYZ さん

すいません。安直な方法を言ってしまって・・・
そういや、昔、namazuだったかな? をモジュール化したようなのがあったような・・・

私は、自分の会社のイントラネットで、ハイパーエストレイヤー使って検索ページ作ったりしてますよ。
(Web担当って訳ではないんですけど、行きがかり上。もちろん、ハイパーエストレイヤー単独で動くものを、ネットから落としてきて指定通りにセットしただけですけど)
ハイパーエストレイヤーはかなり優秀なので、お気に入りです。
あれって、確か今はmixiにいらっしゃる方が作成されたものでしたでしょうか?

XOOPSのモジュール化できれば面白いんでしょうけどね。
(ハイパーエストレイヤー使うなら、XOOPSだけじゃなく、社内のイントラ全体とか、ワード等のファイルも含めた全文検索とかができますしね。でも、XOOPS内だけなら、XOOPSの検索機能の方がSQLの中をサクッと検索するので早いのかな?)

横道にそれました。<(_ _)>
Re: XOOPS検索の結果ページのレイアウトについて 
投稿者: SAK-AXYZ | 投稿日時: 2011/11/19 18:57 | 親コメント: #20974
SAK-AXYZ
引用:
すいません。安直な方法を言ってしまって・・・


いえいえ~

引用:
そういや、昔、namazuだったかな? をモジュール化したようなのがあったような・・・


あぁ……ありましたね。
※手元にあったかな、と探してみたけどなかった(;´Д`)

引用:
あれって、確か今はmixiにいらっしゃる方が作成されたものでしたでしょうか?


ですね。確かその後、独立されたと記憶してます。

んでもってハイパーエストレイヤ、評判いいですね。
おいらまだ使ったことはありませんが、upした文書やPDFあたりも対象にする、ってな
使い方をするには確実に必要でしょうね。
とはいえ、モジュール化はなにげにいろいろ手間が…… ((((( ;゚Д゚)))))ガクガクブルブル

引用:
XOOPS内だけなら、XOOPSの検索機能の方がSQLの中をサクッと検索するので早いのかな?)


実のところ、(サーバパワー次第ではありますが)xoops検索モジュールもそう重いものでもないので
サイト内のコンテンツだけを対象にするなら、そこそこ心地よいです(・∀・)

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top