2

我在 Magento 版本。1.7.0.0,我无法从管理后端编辑某些产品。
当我尝试直接使用 mysql 更改产品描述时,它起作用了,
所以我尝试删除部分描述,然后发现直到文本
“打印机驱动程序允许用户传输数据”之前的所有内容都有效,但是当我添加单词“从”到它,它没有工作使段落以“打印机驱动程序让用户传输数据”结尾什么也没做,既没有显示错误也没有显示成功的消息,它只是刷新了页面。它不能与长度有关,因为如果我将文本替换为 krom,它就可以工作。
所以我尝试将描述编辑为“打印机驱动程序允许用户从中传输数据”它有效

从 system.log:

ERR (3):警告:array_key_exists() 期望参数 2 为数组,在第 507 行 //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 中给出 null
ERR (3): Recoverable >>错误:传递给 Varien_Object::addData() 的参数 1 必须是一个数组,给定 null,在第 514 行的 //app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php 中调用并在 //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(内部服务器错误)prototype.js:1530
Ajax.Request.Class.create.request 原型。 js:1530
Ajax.Request.addMethods.initialize loader.js:61
(匿名函数)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

一点 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;
            }

如果有帮助,说明中的“来自”一词之前有 5881 个字符。我已尝试在所有主要浏览器中进行编辑,因此不存在兼容性问题。

我相信问题出在javascript的某个地方,但找不到在哪里。即使我可以从管理表单中删除验证脚本,我也会,但我认为我不应该而且我不知道该怎么做。

任何帮助将不胜感激。谢谢你的时间。

4

1 回答 1

0

仔细查看您的 .htaccess 文件。当我将我的 1.7.0 Magento 商店迁移到另一台服务器时,我包含了旧服务器中的 .htaccess 文件,然后屏幕上弹出消息:“无效的表单密钥。请刷新页面”,没有任何反应,甚至配置更改都没有影响。

解决方案是安装新的 Magento,然后将 My Store 文件复制到 Magento 根目录,不包括 .htaccess。当我使用全新安装的 .htaccess 时,一切都开始正常工作。我不知道到底发生了什么,也许每个服务器结构都有不同且特定的 .htaccess 条目和规则。它对我有用。

于 2013-10-10T03:07:09.213 回答