• 【解決済み】[Plugin] Search Highlighting 1.3 検索結果リンク先の検索語句ハイライトについ#

  • freakale Reply #1, 2 years, 8 months ago

    Reply
    お世話になっています。

    Ajaxsearch1.8.1を使用してページ内検索を使用しています。
    検索結果は問題なくハイライト表示されているのですが、
    検索結果からリンク先へ移動すると、検索語句はハイライトされていない状態です。

    プラグインの、Search Highlighting でハイライト表示することができるのでしょうか?
    設定、システムイベントの設定等ご存知の方おられましたらよろしくお願いします。


  • MEGU Reply #2, 2 years, 8 months ago

    Reply
    こんにちは。

    検索結果で、ハイライト表示していると言うことは、「Search Highlighting」プラグインは、
    有効だということだと思いますが、ちなみに、検索結果では、以下の様に、
    「Search Terms」、や、「Remove Highlighting」のリンクが表示されている状態でしょうか。
    http://www.liolion.net/geting-help.html?searched=modx&advsearch=oneword&highlight=ajaxSearch_highlight+ajaxSearch_highlight1

    念のため、「Search Highlighting」プラグインのシステムイベントは、「OnWebPagePrerender」です。
    設定はありません。


  • freakale Reply #3, 2 years, 8 months ago

    Reply
    MEGUさん、ありがとうございます。

    >>検索結果では、以下の様に、
    >>「Search Terms」、や、「Remove Highlighting」のリンクが表示されている状態でしょうか。

    表示されていない状態です。
    検索結果まではハイライト表示されているのですが、リンク先に移動するとハイライトされていないため
    またあらたにページ内検索して、目的の語句がどこにあるか探さなければならない状態です。

    検索ページには以下のように
    [!AjaxSearch? &ajaxSearch=`0` &AS_showResults =`0` &AS_landing=`18`!]
    


    検索結果ページには以下のように
    [!AjaxSearch? &ajaxSearch=`0` &AS_showForm=`1`!]
    


    記述しています。

    よろしくお願いします。







  • MEGU Reply #4, 2 years, 8 months ago

    Reply
    freakale さん。こんちには。

    もしかして、こちらのバグに当てはまらないでしょうか。
    http://modxcms.com/forums/index.php/topic,38298.0.html

    このせいで、リンク先の「Search Terms」、や、「Remove Highlighting」が表示されず、
    また、ハイライトするはずの文字がハイライトしません。


  • freakale Reply #5, 2 years, 8 months ago

    Reply
    MEGUさん、ありがとうございます!

    >>もしかして、こちらのバグに当てはまらないでしょうか。
    >>http://modxcms.com/forums/index.php/topic,38298.0.html

    ビンゴでした
    MODX0.9.6 で、AjaxSearch 1.8.1 、Search Highlighting 1.3 使用していたので
    関係ないかと思ってスルーしていました。

    ”>”が表示されるバグは出ていませんでしたが、
    bodyにIDを使用しているため検索結果のリンク先でハイライト表示されてない状態でした。

    Search Highlighting 1.3 使用の場合は

    61行目辺り $body = explode("<body>", $output); // break out the head と
    84行目辺り $output = implode("<body>", $body);

    の2箇所を

    修正後)$body = explode("<body", $output); // break out the head
    修正後)$output = implode("<body", $body);

    とすることでうまくいきました
    どうもありがとうございました。