Magento 1.7 не може да редактира някои продукти

Аз съм на Magento ver. 1.7.0.0 и не мога да редактирам някои от продуктите от бекенда на администратора.
Когато се опитах да променя описанието на продукта директно с помощта на mysql, това проработи,
така че след това опитах да премахна части от описанието и след това открих, че всичко до текста
"драйверът на принтера позволява на потребителите да прехвърлят данни" работи, но когато добавих думата "от" към него, не работи, като абзацът завършва на "драйверът на принтера позволява на потребителите да прехвърлят данни от ' не направи нищо, нито показа грешка, нито успешно съобщение, просто обнови страницата. Не може да става въпрос за дължината, защото ако заменя текста от на krom, работи.
Затова се опитах да редактирам описанието само на „драйверът на принтера позволява на потребителите да прехвърлят данни от“, проработи

От system.log:

ERR (3): Предупреждение: array_key_exists() очаква параметър 2 да бъде масив, нула, дадена в //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php на ред 507
ERR (3) : Възстановима >>ГРЕШКА: Аргумент 1, предаден на Varien_Object::addData() трябва да бъде масив, даден null, извикан в //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php на ред 514 и дефиниран в //lib/Varien/Object.php на ред 243
ERR (3): Предупреждение: Невалиден аргумент, предоставен за foreach() в //lib/Varien/Object.php на ред 245

Конзолата на Chrome ми казва:

index.php/admin/catalog_product/validate/id/1/back/edi…roduct_info_tabs_group_7/key/978d8fe4570a41312a7520945e982662/?isAjax=true 500 (вътрешна сървърна грешка) prototype.js:1530
Ajax.Request.Class.create .request prototype.js:1530
Ajax.Request.addMethods.initialize loader.js:61
(анонимна функция) prototype.js:429
клас prototype.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
при кликване

Малко отстраняване на грешки в PHP ми казва, че за продукта с грешка в описанието $product->getAttributes(); беше празен, но за работещите продукти беше масив.

$attributes = $product->getAttributes();
около ред 504 на app\code\core\Mage\Adminhtml\controllers\Catalog\ProductController.php

Ако променя следната част от 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;
            }

Ако помага, има 5881 знака преди думата "от" в описанието. Опитах да редактирам във всички основни браузъри, така че няма проблеми със съвместимостта.

Вярвам, че проблемът е някъде в javascript, но не мога да намеря къде. Дори ако мога просто да премахна скрипта за валидиране от административните форми, ще го направя, но не мисля, че трябва и не знам как.

Всяка помощ ще бъде високо оценена. Благодаря за отделеното време.


person Mohit    schedule 25.07.2013    source източник


Отговори (1)


Погледнете по-отблизо вашия .htaccess файл. Когато мигрирах магазина си 1.7.0 Magento към друг сървър, включих файла .htaccess от стария сървър и след това на екрана се появи съобщението: „Невалиден ключ на формуляр. Моля, опреснете страницата“ и нищо не се случи, дори промените в конфигурацията не бяха ефект.

Решението беше да инсталирате нов Magento и след това да копирате файловете на My Store в корена на Magento, с изключение на .htaccess. Когато използвах .htaccess от новата инсталация, всичко започна да работи добре. Не знам какво точно се случи, може би всяка сървърна структура има различни и специфични .htaccess записи и правила. На мен ми действа.

person Paulo    schedule 10.10.2013
comment
Няма значение, проблемът е на повече от 4 месеца и когато най-накрая не можах да разбера проблема, инсталирах ново копие и всичко заработи гладко. Благодаря за отделеното време. - person Mohit; 10.10.2013