On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • お世話になっています。

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

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

      検索結果で、ハイライト表示していると言うことは、「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」です。
      設定はありません。
      • MEGUさん、ありがとうございます。

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

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

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


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


        記述しています。

        よろしくお願いします。





        • freakale さん。こんちには。

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

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

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

            ビンゴでした laugh

            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);

            とすることでうまくいきました laugh

            どうもありがとうございました。