如何在opencart中创建全局功能

时间:2013-07-02 05:32:25

标签: php opencart

我正在尝试创建可在任意页面上执行的简单功能。

function something() {
    $string = 'Hello World'; 
    return $string;
}

假设我在类别页面中,我只会调用$a = something();并返回我的值

平台:OpenCart

P.S。我还在学习MVC架构

4 个答案:

答案 0 :(得分:4)

由于您想要了解和了解MVC系统,正确的方法是创建自己的帮助文件并将其放在/system/helper/中,然后将帮助程序添加到{{1} }。请查看system/startup.php / json.php如何在这些内容中作为指南

答案 1 :(得分:3)

使用相同的代码为system / library / yourclassname.php创建一个新文件。

另外请为您的函数添加一个类名,如下所示:

class yourclassname {

  function something() {
    $string = 'Hello World'; 
    return $string;
  }
}

并将其添加到index.php文件中,如下所示;

$registry->set('yourclassname', new yourclassname($registry));

最后将其添加到您的startup.php文件中,如下所示:

require_once(DIR_SYSTEM . 'library/yourclassname.php');

你可以在$ this-> yourclassname-> something();

的任何地方使用它

多数人......

答案 2 :(得分:1)

您可以在任何opencart库(system / library /)中创建一个函数

作为system / library / document.php中的示例

    function something() {
    $string = 'Hello World'; 
    return $string;
}

并在openсart中的任何地方使用

$something=$this->document->something();

header.tpl中的P / s代码无法在ajax或直接请求中使用

答案 3 :(得分:0)

Matricore的回答对我来说非常合适,但我还必须使用config和db构建新类。

以下代码:

class yourclassname {

    public function __construct($registry) {
        $this->config = $registry->get('config');
        $this->db = $registry->get('db');
    }

}

然后,您可以通过$ this-> db-> query(“您的查询在这里”)运行查询;