我刚刚在我的本地prestashop 1.5开发服务器上卸载了一个模块,并收到了以下错误,
Parse error: syntax error, unexpected ''supplier_rule'
' (T_CONSTANT_ENCAPSED_STRING), expecting function (T_FUNCTION) in C:\xampp\htdocs\prestashop\override\classes\Dispatcher.php on line 26
现在我甚至无法访问后端?我只是试图卸载一个模块,这发生了什么?任何解决方案?
更新
以下是包含第26行的代码;
class Dispatcher extends DispatcherCore
{
/**
* @var array List of default routes
*/
line 26 'supplier_rule' => array(
'controller' => 'supplier',
'rule' => 'supplier/{rewrite}/',
'keywords' => array(
'id' => array('regexp' => '[0-9]+'),
'rewrite' => array('regexp' => '[_a-zA-Z0-9-\pL]*', 'param' => 'supplier_rewrite'),
'meta_keywords' => array('regexp' => '[_a-zA-Z0-9-\pL]*'),
'meta_title' => array('regexp' => '[_a-zA-Z0-9-\pL]*'),
),
),
.........
答案 0 :(得分:1)
这是PrestaShop中众所周知的错误/情况。
PrestaShop尝试手动将类方法复制到\override\classes\*
个文件,有时行未匹配或换行错误,最终结果是错误复制的行导致语法错误。安装和卸载都会发生这种情况。基本上,您必须手动修复/删除覆盖类文件中的语法错误。
您需要登录FTP服务器并编辑此文件 - 修复语法错误。
编辑:
如果您已卸载该模块,则应使用以下命令替换此文件的内容:
class Dispatcher extends DispatcherCore
{
}
请检查是否为public function ...
,因为如果有,则表示其他模块可能已在此处插入其功能。它没有,那么用上面的代码重置文件是安全的。