3

我们有一个电子商务 magento 商店。现在,我们遇到了一个奇怪的问题,我无法理解和调试。

对于某些订单,magento admin 的订单详细信息页面中不会显示任何详细信息,尽管邮件已正确发送到客户并抄送至我们的电子邮件 ID。

管理员订单详细信息页面的屏幕截图:-

在此处输入图像描述

包含订单详情的电子邮件截图:-

在此处输入图像描述

为什么会这样??我试图检查模式但无法检查。请在这个问题上帮助我,因为我不是 magento 的专业人士,你身边的任何帮助都会为我完成工作。

4

7 回答 7

8

也试试这个,它对我有用(来自https://magentary.com/kb/php-syntax-error-after-supee-7405-unexpected/):

问题描述

Magento后台SUPEE-7405补丁后销售订单管理界面为空白或者PHP错误日志报如下错误:

PHP 解析错误:语法错误,app/code/core/Mage/Adminhtml/Helper/Sales.php 中的意外 '[' 在第 124 行

原因

SUPEE-7405 是为 PHP 5.4 准备的,旧的 PHP 版本与使用的新语言结构不兼容。

解决方案

将app/code/core/Mage/Adminhtml/Helper/Sales.php中的第 124 行从$links = [];更改为$links = array();

--- app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php

@@ -121,7 +121,7 @@
     public function escapeHtmlWithLinks($data, $allowedTags = null)
     {
         if (!empty($data) && is_array($allowedTags) && in_array('a', $allowedTags)) {
-            $links = [];
+            $links = array();
             $i = 1;
             $data = str_replace('%', '%%', $data);
于 2016-01-26T08:42:19.537 回答
4

您很可能有一个本地或社区模块导致某种错误,如果页面没有为某些订单一直呈现,我会假设这些订单正在使用这个本地和/或社区模块。

您可以尝试的几件事是:

1)通过禁用所有本地模块local.xml

2)通过禁用社区模块app/etc/Company_Modulename.xml并设置activefalse

禁用每次重试查看订单后,直到找到罪魁祸首。

此外,查看页面源可能有助于导致输出停止的位置,并且在页面源的最后也可能存在错误。

希望这可以帮助。

于 2012-07-19T19:28:33.970 回答
0

我在替换tax.phtml文件时解决了这个问题

app/design/adminhtml/default/default/template/sales/order/totals

与我的原始文件。尝试一下。

于 2014-03-12T07:30:25.203 回答
0

我禁用了所有插件。在我的情况下,似乎 apptha 一步结帐插件对此负责。

于 2014-07-10T22:45:56.767 回答
0

我相信这个问题是由于默认的 Magento 造成的,因为文件不指向任何第三方结帐扩展。

于 2014-08-27T08:03:51.157 回答
0

如果 SUPEE-7405 补丁导致此问题,请检查您的系统是否在 PHP 5.3 上运行。

该补丁打破了 PHP 5.3 的兼容性,在 app/code/core/Mage/Adminhtml/Helper/Sales.php(第 124 行)中引入了数组字面量的使用,从 5.4 版开始在 PHP 中可用,因此需要的最低 PHP 版本,应用后,是 PHP 5.4:

// patched app/code/core/Mage/Adminhtml/Helper/Sales.php lines 121-124
public function escapeHtmlWithLinks($data, $allowedTags = null)
{
    if (!empty($data) && is_array($allowedTags) && in_array('a', $allowedTags)) {
        $links = [];

要解决此问题并恢复 PHP 5.3 兼容性(允许订单再次显示在管理屏幕中),只需使用旧的 PHP5.3 等效项更正此问题:

// patched and fixed app/code/core/Mage/Adminhtml/Helper/Sales.php lines 121-124
public function escapeHtmlWithLinks($data, $allowedTags = null)
{
    if (!empty($data) && is_array($allowedTags) && in_array('a', $allowedTags)) {
        $links = array();
于 2016-02-05T15:40:54.393 回答
0

在您的服务器上将 PHP 5.3 更改为 5.6,注销并登录。刷新你的缓存。它将运行。对于版本 1.9.2.3 magento。

于 2016-02-25T16:06:14.880 回答