在AdminController中访问Prestashop 1.7 Context::getContext()可能会导致问题,例如在模块中使用AdminController。解决该问题的一种方法是使用以下代码替代Context::getContext():
// Get AdminContext from the current AdminController $adminContext = Context::getContext()->cloneContext(); $adminContext->controller = Controller::getControllerByName('Admin' . $className);
然后,您可以使用此$adminContext而不是Context::getContext()来获取您需要的任何信息。
另外,在AdminController中,您也可以使用$this->context来访问上下文。 例如:
// Get current employee ID $employeeId = (int)$this->context->employee->id;
此解决方法可能不是唯一的解决方案,但是可行性已得到证明。