MODx1.0.6J-r5以降でのAjaxSearchに関して  【解決済み】

質問全般・改善要望
返信する
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

MODx1.0.6J-r5以降でのAjaxSearchに関して

投稿記事 by masayasu_s »

お世話になっております。
下記動作環境にてアップデートを行ったサイトで、
スニペットが正常に動作しませんでした。

どなたか、回避方法や対処方法をご存知の方が居ましたら、教えて頂けないでしょうか。
よろしくお願い致します。

-----------------------------------
■動作環境
サーバー:HP ML115
OS:FreeBSD8.3
MODxバージョン:1.0.6J-r4 → 1.0.6J-r8
PHPバージョン:5.2.17
MySQLバージョン:5.1.66
Apacheバージョン:2.2.23

確認ブラウザ:IE9, FireFox16

-----------------------------------
■動作しなかったスニペット

AjaxSearch 1.8.4~1.9.2c

-----------------------------------
■スニペット パラメーター変更部分

デフォルト : $cfg['parents'] = isset($parents) ? $parents : (isset($__parents) ? $__parents : $dcfg['parents']);
        : $cfg['language'] = isset($language) ? $language : (isset($__language) ? $__language : $dcfg['language']);

変更後   : $cfg['parents'] ="111";
        : $cfg['language'] = english;

-----------------------------------
■スニペット実行時のエラー内容

Undefined index: a

≪ MODX Parse Error ≫
MODX encountered the following error while attempting to parse the requested resource:

≪ PHP Parse Error ≫
PHP error debug
Error : Invalid argument supplied for foreach()
ErrorType[num] : WARNING[2]
File : /public_html/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php
Line : 823
Source : foreach ($modx->documentMap as $null => $document) {

Basic info
REQUEST_URI : /e_search_result.html
Resource : [428]Search result
Current Snippet : e_AjaxSearch
Referer : http://hostname/e_search_result.html
User Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
IP : ***.***.***.***

Parser timing
MySQL : 0.0197 s (17 Requests)
PHP : 0.1224 s
Total : 0.1421 s

Backtrace
1 executeParser() index.php on line 135
2 prepareResponse() manager/includes/document.parser.class.inc.php on line 286
3 outputContent() manager/includes/document.parser.class.inc.php on line 405
4 parseDocumentSource() manager/includes/document.parser.class.inc.php on line 436
5 evalSnippets() manager/includes/document.parser.class.inc.php on line 1956
6 _get_snip_result() manager/includes/document.parser.class.inc.php on line 1587
7 evalSnippet() manager/includes/document.parser.class.inc.php on line 1671
8 eval() manager/includes/document.parser.class.inc.php on line 1518
9 run() manager/includes/document.parser.class.inc.php(1518) : eval()'d code on line 462
10 run() assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php on line 101
11 getSearchResults() assets/snippets/ajaxSearch/classes/ajaxSearchCtrl.class.inc.php on line 70
12 _doBeforeSearchFilter() assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php on line 98
13 _getChildIds() assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php on line 675

-----------------------------------
■エラー発生条件

キーワードを入力した状態でAjaxSearchにて検索を行うとエラーが発生。

MODxバージョン 1.0.6J-r6以降
(1.0.6J-r6, r-8 で動作テストを行いました。)
(1.0.6J-r4で動作を確認した所発生しませんでした。)

&parentsパラメーターを指定時に発生。

-----------------------------------

日本語サイトと英語サイトでAjaxSearchを分けて使用していたのですが、
英語サイト側のAjaxSearchのみ、検索範囲を英語用リソースに絞る為に&parentsパラメータを指定しておりました。
パラメーターを変更していたのが英語サイトのみで殆ど影響は無かった反面、
アクセスが少なくアップデートしてしばらく経ってから気が付きました。

リリースノートを辿ってみると、
MODx-1.0.5J-r2で同梱の拡張機能から削除されており、大分前から使用は推奨されていなかったんですね;;
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: MODx1.0.6J-r5以降でのAjaxSearchに関して

投稿記事 by yama »

https://github.com/modxcms-jp/evolution-jp/downloads
上記のAjaxSearch 1.9.2dを試してみていただけますでしょうか。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

Re: MODx1.0.6J-r5以降でのAjaxSearchに関して

投稿記事 by masayasu_s »

yama 様
いつもありがとうございます。

AjaxSearch 1.9.2dにアップデートしたところ、エラーが解決しました。
エラーがあったサイトで使用しているパラメーターを変更してみました。

週明けに再度確認してみますが、動作に問題は無さそうです。

-------------------------------------------------------------
確認パラメーター

■共通(Ajax, non-Ajax)
結果 パラメーター名 機能

有効 &language 検索機能の言語表示
有効 &minChars 最小入力文字数(3~99文字の間で指定)
有効 &maxWords 検索単語の最大数(1~10単語の間で指定)
有効 &showInputForm 検索文字の入力欄・ボタンを表示
有効 &pagingType 検索結果の次ページ表示方式
有効 &parents 検索範囲の指定(リソースIDを指定)


■Non-Ajax
結果 パラメーター名 機能

有効 &landingPage 検索結果を表示させるリソースID
有効 &grabMax 検索結果の表示数
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: MODx1.0.6J-r5以降でのAjaxSearchに関して

投稿記事 by yama »

https://github.com/modxcms-jp/evolution-jp/downloads
先ほどajaxSearch開発元サイトを確認したところ、バージョンアップされてました。
日本語版対応もアップデートしておきましたので、もしよければご確認ください。不具合修正のようなので、アップデートしておくのがよさそうに思います。
masayasu_s
メンバー
メンバー
記事: 32
登録日時: 2012年9月14日(金) 07:55

Re: MODx1.0.6J-r5以降でのAjaxSearchに関して  【解決済み】

投稿記事 by masayasu_s »

ありがとうございます。

1.9.3bにアップデートして動作を確認した所、エラーは発生せず、今まで通りの動作をしております。
またキーワードの最小文字が2文字まで可能になり、使い勝手が良くなりました。
返信する