我需要在 checkout / confirm.tpl 文件中调用我在 controller / product.php
中创建的自定义函数最好的方法是什么?
我试过这个,但不起作用:
$productController = $this->load->model('product/product');
$productController->customFunction();
答案 0 :(得分:3)
$productController = $this->load->model('product/product');
强>
controller()
中必须有一个方法Loader
- 这不是(幸运的)所以假设你的控制器是CatalogProductController
,你要调用的方法是custom()
- 在这种情况下访问这个URL
http://yourstore.com/index.php?route=catalog/product/custom
您将确保调用/访问custom()
的{{1}}方法。
您可以通过多种方式访问此类网址 - 作为cURL请求,链接的 href 或通过AJAX请求来命名。在PHP范围内,即使CatalogProductController
或类似方法也可以。
(*)不应该我的意思是在OpenCart中它可能是(不幸),但这种滥用是针对MVC架构的。
答案 1 :(得分:3)
是的,我终于找到了正确的答案!对不起最后的错误答案
class ControllerCommonHome extends Controller {
public function index() {
return $this->load->controller('product/ready');
}
}
答案 2 :(得分:0)
可能会有这样的事情可以帮助你(或任何感兴趣的人)
// Load seo pro
require_once(DIR_CATALOG."/controller/common/seo_pro.php"); // load file
$seoPro = new ControllerCommonSeoPro($this->registry); // pass registry to constructor
$url = HTTP_CATALOG . $seoPro->rewrite(
$this->url('information/information&information_id=' . $result['information_id'])
);
答案 3 :(得分:0)
他和这些坏的答案!!
在laravel中它如此简单只需编写Controller :: call('ApplesController @ getSomething');
但我不能比这更好
$config = new Config();
// Response
$response = new Response();
$response->addHeader('Content-Type: text/html; charset=utf-8');
$response->setCompression($config->get('config_compression'));
$this->registry->set('response', $response);
$action = new Action('product/ready');
$controller = new Front($this->registry);
$controller->addPreAction(new Action('common/maintenance'));
$controller->addPreAction(new Action('common/seo_url'));
$controller->dispatch($action, new Action('error/not_found'));
$response->output();
在这种情况下,它的呼叫产品/准备就绪
答案 4 :(得分:0)
$this->load->controller('sale/box',$yourData);
调用框控制器的ShipmentDate()
功能
$this->load->controller('sale/box/ShipmentDate',$yourData);
答案 5 :(得分:0)
return $this->load->controller('error/not_found');