我们有一个电子商务 magento 商店。现在,我们遇到了一个奇怪的问题,我无法理解和调试。
对于某些订单,magento admin 的订单详细信息页面中不会显示任何详细信息,尽管邮件已正确发送到客户并抄送至我们的电子邮件 ID。
管理员订单详细信息页面的屏幕截图:-
包含订单详情的电子邮件截图:-
为什么会这样??我试图检查模式但无法检查。请在这个问题上帮助我,因为我不是 magento 的专业人士,你身边的任何帮助都会为我完成工作。
我们有一个电子商务 magento 商店。现在,我们遇到了一个奇怪的问题,我无法理解和调试。
对于某些订单,magento admin 的订单详细信息页面中不会显示任何详细信息,尽管邮件已正确发送到客户并抄送至我们的电子邮件 ID。
管理员订单详细信息页面的屏幕截图:-
包含订单详情的电子邮件截图:-
为什么会这样??我试图检查模式但无法检查。请在这个问题上帮助我,因为我不是 magento 的专业人士,你身边的任何帮助都会为我完成工作。
也试试这个,它对我有用(来自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);
您很可能有一个本地或社区模块导致某种错误,如果页面没有为某些订单一直呈现,我会假设这些订单正在使用这个本地和/或社区模块。
您可以尝试的几件事是:
1)通过禁用所有本地模块local.xml
2)通过禁用社区模块app/etc/Company_Modulename.xml
并设置active
为false
禁用每次重试查看订单后,直到找到罪魁祸首。
此外,查看页面源可能有助于导致输出停止的位置,并且在页面源的最后也可能存在错误。
希望这可以帮助。
我在替换tax.phtml
文件时解决了这个问题
app/design/adminhtml/default/default/template/sales/order/totals
与我的原始文件。尝试一下。
我禁用了所有插件。在我的情况下,似乎 apptha 一步结帐插件对此负责。
我相信这个问题是由于默认的 Magento 造成的,因为文件不指向任何第三方结帐扩展。
如果 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();
在您的服务器上将 PHP 5.3 更改为 5.6,注销并登录。刷新你的缓存。它将运行。对于版本 1.9.2.3 magento。