We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32535
    • 58 Posts
    ajaxsearchのカスタマイズの仕方でわからない部分があります。

    (1)Result pages:の右側に出る、値を、「1 | 2 | 3」 のような数値のみの形ではなく、「1ページ目 | 2ページ目 | 3ページ 目」のような形で表示されるようにしたい。

    (2)検索結果の「 〇〇〇result found for □□□」の部分を編集して、「〇〇を含むページが2ページ見つかりました。」のようにしたい。(includesフォルダ内にある、japanese-utf8.inc.phpを編集して、表示させようとしたのですが、どのように編集したら良いのかわかりません。)

    (3)テンプレート内に記述された文字が、検索対象から除外されて、検索結果が表示されてしまう。
    具体的な例としては、グローバルメニューなどをテンプレートとして保存し、メインの内容部分に[*content*]を記述した場合に、各ドキュメントの内容部分( MODxタグ:[*content*] )に記述した単語は検索されるのですが、テンプレート化したグローバルメニューに含まれる語句は検索してくれません。何か設定があるのでしょうか?

    バージョンはajaxsearch1.71です。
    どなたかお分かりになる方がおられましたら、ご教示下さい。
      • 6350
      • 421 Posts
      Quote from: wisp at Feb 21, 2009, 05:30 AM

      (1)Result pages:の右側に出る、値を、「1 | 2 | 3」 のような数値のみの形ではなく、「1ページ目 | 2ページ目 | 3ページ 目」のような形で表示されるようにしたい。
      AjaxSearch はまだ触ったことないので、ここはわかりません。

      Quote from: wisp at Feb 21, 2009, 05:30 AM

      (2)検索結果の「 〇〇〇result found for □□□」の部分を編集して、「〇〇を含むページが2ページ見つかりました。」のようにしたい。(includesフォルダ内にある、japanese-utf8.inc.phpを編集して、表示させようとしたのですが、どのように編集したら良いのかわかりません。)
      japanese-utf8.inc.php を見ると下のように定義されているので
      $_lang[’as_resultsFoundTextSingle’] = ’<q>%2$s</q>で検索した結果、%1$d件見つかりました。’;
      $_lang[’as_resultsFoundTextMultiple’] = ’<q>%2$s</q>で検索した結果、%1$d件見つかりました。’;

      english.inc.php の内容が表示されていることがおかしいのではないでしょうか。
      $_lang[’as_resultsFoundTextSingle’] = ’%d result found for "%s".’;
      $_lang[’as_resultsFoundTextMultiple’] = ’%d results found for "%s".’;


      Quote from: wisp at Feb 21, 2009, 05:30 AM

      (3)テンプレート内に記述された文字が、検索対象から除外されて、検索結果が表示されてしまう。
      具体的な例としては、グローバルメニューなどをテンプレートとして保存し、メインの内容部分に[*content*]を記述した場合に、各ドキュメントの内容部分( MODxタグ:[*content*] )に記述した単語は検索されるのですが、テンプレート化したグローバルメニューに含まれる語句は検索してくれません。何か設定があるのでしょうか?
      --------------------------------------------------------------------------------
      :: Description
      --------------------------------------------------------------------------------

      The AjaxSearch snippet is an enhanced version of the original FlexSearchForm
      snippet for MODx. This snippet adds AJAX functionality on top of the robust
      content searching.

      - search in title, description, content and TVs of documents
      - search in a subset of documents
      - highlighting of searchword in the results returned

      It could works in two modes:

      スニペットの説明を見ると仕様のようです。 :’(
        • 6350
        • 421 Posts
        Quote from: wisp at Feb 21, 2009, 05:30 AM

        (2)検索結果の「 〇〇〇result found for □□□」の部分を編集して、「〇〇を含むページが2ページ見つかりました。」のようにしたい。(includesフォルダ内にある、japanese-utf8.inc.phpを編集して、表示させようとしたのですが、どのように編集したら良いのかわかりません。)

        バージョンはajaxsearch1.71です。
        どなたかお分かりになる方がおられましたら、ご教示下さい。
        ajaxsearch1.71 でしたね。ちょっと答えが的を得ていなかったようです。
        まだ modx 0.9.6.2 を使っているんでしょうか、でしたら早めに 0.9.6.3 へのアップグレードをお勧めします。
        そろそろ後、数日中に日本語版 modx もリリースが予定されているのでそれをきっかけにしてはどうでしょうか。

        0.9.6.2 は日本語への翻訳が中途半端なバージョンで英語のままのメッセージがかなり残っているようです。
        0.9.6.3 の japanese-utf8.inc.php から下記の部分をコピーして置き換えればちゃんと表示されるようです。
        $_lang['as_resultsIntroFailure'] = '一致する検索結果がありませんでした。より一般的な単語で再度検索してみてください';
        $_lang['as_searchButtonText'] = '検索';
        $_lang['as_boxText'] = '検索語を入力してください';
        $_lang['as_introMessage'] = '検索語を入力してください';
        $_lang['as_resultsFoundTextSingle'] = '<q>%2$s</q>で検索した結果、%1$d件見つかりました。';
        $_lang['as_resultsFoundTextMultiple'] = '<q>%2$s</q>で検索した結果、%1$d件見つかりました。';
        $_lang['as_paginationTextSinglePage'] = '';
        $_lang['as_paginationTextMultiplePages'] = '検索結果ページ: ';
        $_lang['as_moreResultsText'] = 'すべての結果を見る';
        $_lang['as_moreResultsTitle'] = 'もっと見る';
        $_lang['as_minChars'] = '検索には、最低 %d 文字以上の入力が必要です。';
        $_lang['oneword'] = '最低ひとつの単語を含む';
        $_lang['allwords'] = 'すべての単語を含む';
        $_lang['exactphrase'] = '完全一致';
        $_lang['nowords'] = '単語を含まない';
        

        それよりも、いまどき 0.9.6.2 をサポートしたいと思っている人はいないはずです。
        AjaxSearch だけの問題ではないはずですから smiley
          • 32535
          • 58 Posts
          dainiti さんありがとうございます。(2)の問題解決致しました。(3)は仕様なのですね、諦めます。
          0.9.6.3 を使用しているのですが、サーバーのmySQLのバージョンの都合で、1.71を使用しています。

            • 26012
            • 324 Posts
            Quote from: wisp at Feb 21, 2009, 05:30 AM

            (1)Result pages:の右側に出る、値を、「1 | 2 | 3」 のような数値のみの形ではなく、「1ページ目 | 2ページ目 | 3ページ 目」のような形で表示されるようにしたい。
            以下は非Ajaxモードでの対応例(Ajaxモードだったらゴメンナサイ?)。
            assets/snippets/ajaxSearch/includes/snippet.ajaxSearch.inc.php L398
                        //'[+as.pagingText+]' => $resultPageLinkNumber,
                        '[+as.pagingText+]' => $resultPageLinkNumber . 'ページ目',
            

            上記でいけると思いますが、grabMaxの指定とヒット件数の関係でナビゲーション部が長大になることと、
            後のセキュリティフィックスの反映まで考えるとあまりお勧めしたくないです。
            CSSを工夫して、番号が増えても大丈夫なようにするのであれば、ガツンとどうぞ。 wink
              • 6350
              • 421 Posts
              Quote from: wisp at Feb 21, 2009, 05:30 AM

              (3)テンプレート内に記述された文字が、検索対象から除外されて、検索結果が表示されてしまう。
              具体的な例としては、グローバルメニューなどをテンプレートとして保存し、メインの内容部分に[*content*]を記述した場合に、各ドキュメントの内容部分( MODxタグ:[*content*] )に記述した単語は検索されるのですが、テンプレート化したグローバルメニューに含まれる語句は検索してくれません。何か設定があるのでしょうか?
              - search in title, description, content and TVs of documents
              上記の title がページタイトルなのかロングタイトルなのかはっきりしないんですが、もしくはページタイトルとメニュータイトルは同じ内容でしょうか。

              ロングタイトルが空白の状態であればページタイトルと同じ内容を入れてみると解決するかもしれません。
              ソースコードも見ずに適当に言ってるので、聞き流してもらってもかまいません laugh
                • 6350
                • 421 Posts
                ・・・といいながら気になったので調べてみました。

                0.9.6.3 の AjaxSearch 1.81では pagetitile longtitle menutitle とも検索対象となっているようですが
                AjaxSearch 1.7.1 では menutitle が検索対象にはなっていないようです。

                それでも、 menutitle と pagetitle の内容が同じものであれば検索はヒットするはずなんですが、
                実際には、1.8.1 でしか試していないので 1.7.1 での結果は未確認です。
                Quote from: wisp at Feb 21, 2009, 05:30 AM

                テンプレート化したグローバルメニューに含まれる語句は検索してくれません。何か設定があるのでしょうか?
                グローバルメニューはどういったつくり方してますか、
                  • 32535
                  • 58 Posts
                  返信送れて申し訳ありません。

                  sama55ありがとうございます。snippet.ajaxSearch.inc.phpに. ’ページ目’を追加したのですが、
                  文字化けしてしまいました。何か設定があるのでしょうか?


                  dainitiさん

                  グローバルメニューにはナビゲーションメニュー用の各ページへのリンクと、サイト名など全ページ共通のテキスト
                  が書かれています。
                  テンプレート中に記述した、共通のテキストなどはなぜか検索に引っかかりません。
                  ナビゲーション用の各ページへのリンクは、今チェックしたら検索に引っかかりました。

                    • 26012
                    • 324 Posts
                    Quote from: wisp at Feb 27, 2009, 05:51 AM

                    sama55ありがとうございます。snippet.ajaxSearch.inc.phpに. ’ページ目’を追加したのですが、
                    文字化けしてしまいました。何か設定があるのでしょうか?
                    ファイルがUTF-8で保存されてることを確認してみてください(外してたらゴメンナサイ)。
                      • 6350
                      • 421 Posts
                      Quote from: wisp at Feb 27, 2009, 05:51 AM

                      テンプレート中に記述した、共通のテキストなどはなぜか検索に引っかかりません。
                      「なぜか」、じゃなくて引っかからなくて当然ですね。

                      チョット無駄にはなりますが、テンプレート変数をつかって共通のテキストを表示させるなどの方法しかないと思います。