2
votes

I am on Magento ver. 1.7.0.0 and I can't edit some of the products from the admin backend.
When I tried to change the product description directly using mysql it worked,
so then I tried removing parts of the description and then found that everything till the text
'printer driver lets users transfer data' works but when I added the word 'from' to it ,it didn't work making the paragraph end in 'printer driver lets users transfer data from' did nothing ,neither showed a error nor a successful message it just refreshed the page. It can't be about the length because if I replace the text from to krom it works.
So I tried editing the description to just 'printer driver lets users transfer data from' it worked

From the system.log:

ERR (3): Warning: array_key_exists() expects parameter 2 to be array, null given in //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php on line 507
ERR (3): Recoverable >>ERRor: Argument 1 passed to Varien_Object::addData() must be an array, null given, called in //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php on line 514 and defined in //lib/Varien/Object.php on line 243
ERR (3): Warning: Invalid argument supplied for foreach() in //lib/Varien/Object.php on line 245

The Chrome console tells me :

index.php/admin/catalog_product/validate/id/1/back/edi…roduct_info_tabs_group_7/key/978d8fe4570a41312a7520945e982662/?isAjax=true 500 (Internal Server Error) prototype.js:1530
Ajax.Request.Class.create.request prototype.js:1530
Ajax.Request.addMethods.initialize loader.js:61
(anonymous function) prototype.js:429
klass 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
onclick

A little PHP debugging tells me that for the product with description error $product->getAttributes(); was empty but for the working products it was an array.

$attributes = $product->getAttributes();
around line 504 of app\code\core\Mage\Adminhtml\controllers\Catalog\ProductController.php

If I change the following part from the form.js there is no Chrome console error but it still doesn't work:

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

If it helps there are 5881 characters before the word 'from' in the description. I have tried editing in all major browser so there are no compatibility issues.

I believe the problem is somewhere in the javascript but can't find where. Even if I can just remove the validation script from the admin forms I will but I don't think I should and I don't know how.

Any help would be greatly appreciated. Thanks for your time.

1

1 Answers

0
votes

Take a closer look at your .htaccess file. When I migrated my 1.7.0 Magento store to another server I included the .htaccess file from the old server and then the message: "Invalid Form Key. Please refresh the page" popped on screen and nothing happened, not even the configuration changes had effect.

The solution was to install a fresh Magento and then copy the My Store files the the Magento root, excluding .htaccess. When I used the .htaccess from the fresh installation, everything started to work fine. I don't know what exactly happened, maybe each server structure has different and particular .htaccess entries and rules. It works to me.