OpenCart中的自定义帮助程序功能

时间:2012-10-24 15:22:19

标签: php opencart

尝试在opencart中创建自定义PHP函数。基本上我需要知道我们是否正在查看购物车或结帐页面。我知道实现这一目标的最简单方法是访问路由请求参数。我想创建一个可重复使用的功能,但可以在网站范围内使用。

这可能吗?它会去哪里?

该功能如下所示:

function isCheckout() {

    $route = $this->request->get['route'];

    //is cart?
    if($route == 'checkout/cart')
        return 'cart';

    $parts = explode('/', $route);

    if($parts[0] == 'checkout')
        return 'checkout';

    return false;

}

3 个答案:

答案 0 :(得分:14)

将帮助文件放在系统目录

中的帮助文件夹中

system/helper/myhelper.php

并将其包含在

system/startup.php档案

像这样

require_once(DIR_SYSTEM . 'helper/myhelper.php');

你已经完成了。

答案 1 :(得分:4)

将该功能放入文件中,例如。 myhelper.php并将其保存到../ system / library /

然后添加

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

到../ system / startup.php

答案 2 :(得分:2)

正确和推荐的方法是使用OpenCart的内置加载器:

$this->load->helper('helper_name');

该帮助程序位于 system / helper目录中。加载时无需附加php后缀,因为OpenCart的加载器引擎会自动添加该后缀。

然后,由于帮助程序不是类,因此您可以直接使用这些函数而无需 $ this。。 例如:

$this->load->helper('general');

token();

结果将是一个32个字符的令牌。 token()函数位于 system / helper 目录的常规帮助器中。

这是常规帮助器的示例:

<?php
function token($length = 32) {
    // Create token to login with
    $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';

    $token = '';

    for ($i = 0; $i < $length; $i++) {
        $token .= $string[mt_rand(0, strlen($string) - 1)];
    }   

    return $token;
}