如何在Prestashop中检查凭证是否有效

如何在Prestashop中检查凭证是否有效,prestashop,Prestashop,我想在我的商店里创建一个CMS页面,客户可以在那里查看他的凭证。在/classes/CartRule.php中,我找到了checkValidity()函数。它看起来不错,因为此函数返回“此凭证已禁用”-例如。如何使用此功能?我想添加一个输入字段,让用户通过他的凭证,然后检查他 首先,创建一个输入字段以输入优惠券。谷歌搜索它,你会发现很多结果。创建输入字段后,将优惠券提交给任何控制器后,使用以下代码检查优惠券的状态 假设getStatusOfconf()是提交优惠券后要调用的函数 public f

我想在我的商店里创建一个CMS页面,客户可以在那里查看他的凭证。在/classes/CartRule.php中,我找到了
checkValidity()
函数。它看起来不错,因为此函数返回“此凭证已禁用”-例如。如何使用此功能?我想添加一个输入字段,让用户通过他的凭证,然后检查他


首先,创建一个输入字段以输入优惠券。谷歌搜索它,你会发现很多结果。创建输入字段后,将优惠券提交给任何控制器后,使用以下代码检查优惠券的状态

假设
getStatusOfconf()
是提交优惠券后要调用的函数

public function getStatusOfCoupon($coupon){
    $id=$this->getIdByCode($coupon);
    $obj = new CartRuleCore($id);
    $context = Context::getContext();
    $response=$obj->checkValidity($context);
    d($response);// do whatever you want of this response.        
}

public static function getIdByCode($code)
{
    if (!Validate::isCleanHtml($code)) {
        return false;
    }
    return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT `id_cart_rule` FROM `'._DB_PREFIX_.'cart_rule` WHERE `code` = \''.pSQL($code).'\'');
}

我在cms中创建输入字段。如下所示:jsfiddle.net/3gk0uohj/2,然后在\override\controllers\front\cmscoontroller.php中粘贴代码(类cmscoontroller扩展了cmscoontrollercore)。d(答复);更改为echo$response;这是正确的吗?谢谢您的帮助。您必须提交此表单,以便将输入值转换为php值,然后调用
getStatusOfconon()
,并将优惠券作为参数发送,我理解,但不知道如何发送。里面应该有什么?在php中,bcs的动作形式很简单,我有一个带有getStatusOfconon()的脚本,它等待参数。在Prestashop中,我不知道如何调用这个函数。我用谷歌搜索了一下,但在系统prestashop中找不到结果。Kind Regard在该操作中,CmsController的路径应该存在,以便将优惠券的值提交给CmsController,并且您可以使用控制器中的我的代码进行工作。现在的问题是如何将值提交给CmsController。请谷歌它,你会发现许多答案,或以订阅字段为例,有可能得到完整的解决方案吗?我在谷歌找不到任何类似的任务。谢谢