我还在学习 PHP,所以我的问题可能看起来有点明显,但是......
我的问题与 opencart 有关,但在许多网站上可能是相当普遍的做法。我正在创建一个 opencart 模块,在该模块中我有几个按钮可以完成不同的任务。现在我已经为按钮分配了正确的“href”以及路径和适当的操作。例如
$this->data['dosomething'] = $this->url->link('module/modulename/dosomething', 'token=' . $this->session->data['token'], 'SSL');
注意:出于我的问题的目的,我已将模块和操作称为通用名称。
在控制器中,我有一个名为“index”的私有函数,然后是一个名为“dosomething”的私有函数,如下所示
public function index() {
* insert code *
}
public function dosomething() {
*insert code*
$this->redirect($this->url->link('module/modulename', 'token=' . $this->session->data['token'], 'SSL'));
}
现在,我想知道如何让按钮指向模块控制器,然后运行“dosomething”功能。我可以在链接中放入一些信息,即 action=dosomething 并以这种方式进行操作,但大多数 opencart 只是使用最后一个 / 的文本作为操作。如果我使用上述href,我会得到一个错误,因为它试图找到位于'module/modulename/dosomething'中的控制器和模板,而不是使用函数'dosomething'位于'module/modulename'中的控制器和模板。
我希望这是有道理的。我看到 opencart 中的许多其他脚本成功地使用了这种方法,但我就是不知道怎么做?我确定我遗漏了一些明显的东西。