お世話になっております。
下記動作環境にてアップデートを行ったサイトで、
スニペットが正常に動作しませんでした。
どなたか、回避方法や対処方法をご存知の方が居ましたら、教えて頂けないでしょうか。
よろしくお願い致します。
-----------------------------------
■動作環境
サーバー: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で同梱の拡張機能から削除されており、大分前から使用は推奨されていなかったんですね;;
MODx1.0.6J-r5以降でのAjaxSearchに関して 【解決済み】
-
- メンバー
- 記事: 32
- 登録日時: 2012年9月14日(金) 07:55
Re: MODx1.0.6J-r5以降でのAjaxSearchに関して
https://github.com/modxcms-jp/evolution-jp/downloads
上記のAjaxSearch 1.9.2dを試してみていただけますでしょうか。
上記のAjaxSearch 1.9.2dを試してみていただけますでしょうか。
-
- メンバー
- 記事: 32
- 登録日時: 2012年9月14日(金) 07:55
Re: MODx1.0.6J-r5以降でのAjaxSearchに関して
yama 様
いつもありがとうございます。
AjaxSearch 1.9.2dにアップデートしたところ、エラーが解決しました。
エラーがあったサイトで使用しているパラメーターを変更してみました。
週明けに再度確認してみますが、動作に問題は無さそうです。
-------------------------------------------------------------
確認パラメーター
■共通(Ajax, non-Ajax)
結果 パラメーター名 機能
有効 &language 検索機能の言語表示
有効 &minChars 最小入力文字数(3~99文字の間で指定)
有効 &maxWords 検索単語の最大数(1~10単語の間で指定)
有効 &showInputForm 検索文字の入力欄・ボタンを表示
有効 &pagingType 検索結果の次ページ表示方式
有効 &parents 検索範囲の指定(リソースIDを指定)
■Non-Ajax
結果 パラメーター名 機能
有効 &landingPage 検索結果を表示させるリソースID
有効 &grabMax 検索結果の表示数
いつもありがとうございます。
AjaxSearch 1.9.2dにアップデートしたところ、エラーが解決しました。
エラーがあったサイトで使用しているパラメーターを変更してみました。
週明けに再度確認してみますが、動作に問題は無さそうです。
-------------------------------------------------------------
確認パラメーター
■共通(Ajax, non-Ajax)
結果 パラメーター名 機能
有効 &language 検索機能の言語表示
有効 &minChars 最小入力文字数(3~99文字の間で指定)
有効 &maxWords 検索単語の最大数(1~10単語の間で指定)
有効 &showInputForm 検索文字の入力欄・ボタンを表示
有効 &pagingType 検索結果の次ページ表示方式
有効 &parents 検索範囲の指定(リソースIDを指定)
■Non-Ajax
結果 パラメーター名 機能
有効 &landingPage 検索結果を表示させるリソースID
有効 &grabMax 検索結果の表示数
Re: MODx1.0.6J-r5以降でのAjaxSearchに関して
https://github.com/modxcms-jp/evolution-jp/downloads
先ほどajaxSearch開発元サイトを確認したところ、バージョンアップされてました。
日本語版対応もアップデートしておきましたので、もしよければご確認ください。不具合修正のようなので、アップデートしておくのがよさそうに思います。
先ほどajaxSearch開発元サイトを確認したところ、バージョンアップされてました。
日本語版対応もアップデートしておきましたので、もしよければご確認ください。不具合修正のようなので、アップデートしておくのがよさそうに思います。
-
- メンバー
- 記事: 32
- 登録日時: 2012年9月14日(金) 07:55
Re: MODx1.0.6J-r5以降でのAjaxSearchに関して 【解決済み】
ありがとうございます。
1.9.3bにアップデートして動作を確認した所、エラーは発生せず、今まで通りの動作をしております。
またキーワードの最小文字が2文字まで可能になり、使い勝手が良くなりました。
1.9.3bにアップデートして動作を確認した所、エラーは発生せず、今まで通りの動作をしております。
またキーワードの最小文字が2文字まで可能になり、使い勝手が良くなりました。