2

私はMagento版です。1.7.0.0 で、管理者のバックエンドから一部の製品を編集できません。
mysql を使用して製品の説明を直接変更しようとしたときはうまくいったので、説明の一部を削除しようとしたところ、 「プリンター ドライバーでユーザーがデータを転送できるようにする」
というテキストまですべてが機能することがわかりましたが、「from」という単語を追加すると
それは、「プリンタードライバーがユーザーにデータを転送させる」で段落を終了させて​​も機能せず、エラーも成功メッセージも表示されず、ページを更新しただけでした。テキストを krom に置き換えると機能するため、長さについてはできません。
そこで、説明を「プリンタードライバーでユーザーがデータを転送できるようにする」だけに編集してみましたが、うまくいきました

system.log から:

ERR (3): 警告: array_key_exists() は、パラメーター 2 が配列であると想定し、507 行目の //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php で指定された null
ERR (3): 回復可能 >>エラー: Varien_Object::addData() に渡される引数 1 は、null が指定された配列である必要があり、//app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php の 514 行で呼び出され、//lib で定義されます243 行目の /Varien/Object.php
ERR (3): 警告: 245 行目の //lib/Varien/Object.php の foreach() に無効な引数が指定されました

Chrome コンソールには次のように表示されます。

index.php/admin/catalog_product/validate/id/1/back/edi…roduct_info_tabs_group_7/key/978d8fe4570a41312a7520945e982662/?isAjax=true 500 (内部サーバー エラー) プロトタイプ.js:1530
Ajax.Request.Class.create.request プロトタイプ。 js:1530
Ajax.Request.addMethods.initialize loader.js:61
(無名関数) プロトタイプ.js:429クラス
プロトタイプ.js:101
varienForm._validate form.js:80
varienForm.submit form.js:65
saveAndContinueEdit /index. php/admin/catalog_product/edit/id/1/back/edit/tab/product_info_tabs_group_7/key/a325cea2187bfa32cec5c6d0c14e0baa/:2240
onclick

PHP を少しデバッグすると、製品の説明エラー $product->getAttributes(); が表示されることがわかります。は空でしたが、動作する製品の場合は配列でした。

$attributes = $product->getAttributes();
app\code\core\Mage\Adminhtml\controllers\Catalog\ProductController.php の 504 行目あたり

form.js から次の部分を変更すると、Chrome コンソール エラーは発生しませんが、それでも機能しません。

          this.submitUrl = url;
            if(this.validator && this.validator.validate()){
                if(this.validationUrl){
                    this._validate();
                }
                else{
                    this._submit(); // I removed everything but this 
                }
                return true;
            }

それが役立つ場合は、説明の「from」という単語の前に 5881 文字あります。すべての主要なブラウザーで編集を試みたので、互換性の問題はありません。

問題は JavaScript のどこかにあると思いますが、どこにあるのかわかりません。管理フォームから検証スクリプトを削除できたとしても、そうする必要はないと思いますし、方法もわかりません。

どんな助けでも大歓迎です。御時間ありがとうございます。

4

1 に答える 1