实际上我正在尝试将类(控制器期刊3闪购(添加到操作中.php 我想要这个类,因为我使用的是期刊 3 主题中的动态块,当我在布局下添加块时它不起作用,它只显示动态块内容,而不是一起显示其余页面内容。我尝试了很多方法,但给出了错误:
错误是:
Fatal error: Uncaught Error: Class 'Controllerjournal3flashsale' not found in /home/mywebsite/storage_aelive/modification/system/engine/action.php:71 Stack trace: #0 /home/mywebsite/storage_aelive/modification/system/engine/loader.php(27): Action->execute(Object(Registry), Array) #1 /home/mywebsite/public_html/catalog/controller/journal3/blocks.php(133): Loader->controller('journal3/flash_...', Array) #2 /home/mywebsite/public_html/live/library/journal3/opencart/modulecontroller.php(149): ControllerJournal3Blocks->beforeRender() #3 /home/mywebsite/public_html/catalog/controller/journal3/blocks.php(18): Journal3OpencartModuleController->index(Array) #4 /home/mywebsite/storage_aelive/modification/system/engine/action.php(79): ControllerJournal3Blocks->index(Array) #5
/home/mywebsite/storage_aelive/modification/system/engine/loader.php(27): Action->execute(Object(Registry), Array) #6
/home/mywebsite/public_html/live/library/journal3/opencart/controller.php(112): Loader->controller('journal3/blocks', Array) #7 /home/clearan in /home/mywebsite/storage_aelive/modification/system/engine/action.php on line 71
操作.php文件代码在这里:
class Action {
private $id;
private $route;
private $method = 'index';
/**
* Constructor
*
* @param string $route
*/
public function __construct($route) {
$this->id = $route;
$parts = explode('/', preg_replace('/[^a-zA-Z0-9_/]/', '', (string)$route));
// Break apart the route
while ($parts) {
$file = DIR_APPLICATION . 'controller/' . implode('/', $parts) . '.php';
if (is_file($file)) {
$this->route = implode('/', $parts);
break;
} else {
$this->method = array_pop($parts);
}
}
}
/**
*
*
* @return string
*
*/
public function getId() {
return $this->id;
}
/**
*
*
* @param object $registry
* @param array $args
*/
public function execute($registry, array $args = array()) {
// Stop any magical methods being called
if (substr($this->method, 0, 2) == '__') {
return new Exception('Error: Calls to magic methods are not allowed!');
}
$file = DIR_APPLICATION . 'controller/' . $this->route . '.php';
$class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $this->route);
// Initialize the class
if (is_file($file)) {
include_once(modification($file));
$controller = new $class($registry);
} else {
return new Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!');
}
$reflection = new ReflectionClass($class);
if ($reflection->hasMethod($this->method) && $reflection->getMethod($this->method)->getNumberOfRequiredParameters() <= count($args)) {
return call_user_func_array(array($controller, $this->method), $args);
} else {
return new Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!');
}
}
}
我建议您使用日志手册 https://docs.journal-theme.com/docs/modules/blocks#dynamic-blocks 中的控制器结构。
主题附带一个示例,您可以在目录/控制器/期刊3/blocks_example.php中找到它
use Journal3OpencartController;
class ControllerJournal3BlocksExample extends Controller {
public function index($args) {
return 'Dynamic Content for module_id = ' . $args['module_id'];
}
}