インストール方法
※古いバージョンのMODXにインストールすると脆弱性が発生することがあります。MODXは必ず最新版にアップデートしてからご利用ください。
https://github.com/modxcms/AjaxSearch/archive/Development.zip
1. 上記から最新版をダウンロードします。
2. パッケージを解凍し、「AjaxSearch-Development」フォルダを「ajaxSearch」にリネームします。これをサーバ上の /assets/snippets/ ディレクトリ内に上書き転送します。
3. snippet.ajaxSearch.tpl をテキストエディタで開き、管理画面のスニペット作成画面に貼り付け、保存します。スニペット名は「ajaxSearch」としておくとよいでしょう。
4. テンプレートまたはリソース内に [!ajaxSearch!] と記述します。キャッシュオフ書式で書く必要があります。
5. これでインストールは完了です。検索テストを実行してみてください。
設置時の注意点
AjaxSearchは検索実行時、ディレクトリ階層を見ずにindex-ajax.phpにアクセスします。index-ajax.phpがMODX設置ルートに存在する前提なので、フレンドリーURL設定でサイトを運用している場合は、ページのテンプレートにbaseタグが必須です。
<base href="[(site_url)]" />
上記のような記述が必須ということになります。
MODX Evolution 1.0.5J-r11で使用する場合
MODX Evolution 1.0.5Jr11ではデータ処理の流れが整理されています。この影響で、AjaxSearchが使えなくなっている可能性があります。AjaxSearchの稼働に必要なindex-ajax.phpが1.0.5J-r11にはもともと同梱されていませんので、1.0.5J-r11を新規インストールした場合は使えません。
AjaxSearch1.9.2cのinstall/for105j-r11over/ フォルダ内にindex-ajax.phpが同梱されていますので、これをMODX設置ルートにコピーしてください。
※最新版の1.1.0Jには同梱されていますので、この作業は不要です。
検索結果に含まれるキーワードを強調表示したい場合
searchHighlightプラグインをインストールします。plugin.searchHighlight.tpl の内容をプラグイン作成画面に貼り付け、保存します。検索結果だけでなく、ページ全体に渡ってキーワードをハイライトします。
注意点としては、キーワードはGETメソッドを通じてハンドリングされるため、クエリ付きのURLが検索エンジンに拾われる可能性があります。また、コンテンツを直接書き換えるため、安全面において十分な検証を行なう必要があります。
AjaxSearch Log managerモジュールを使う場合
module.ajaxSearchLogManager.tplをモジュール作成画面に貼り付けてモジュールをインストールします。