0

prestashop 1.6.3 の注文ページで、1 日あたり 100 /50 注文 (これはパラメーターになります) が完了すると、代金引換機能を無効にしたいと考えています。

100 個のタラが完了したかどうかを調べて、これをプログラムで無効にする方法。

ここに画像の説明を入力

4

1 に答える 1

1

これを行うために、cashondelivery モジュールの hookPayment() を変更します。

 public function hookPayment($params)
{

    if (!$this->active)
        return ;

    global $smarty;

    // Check if cart has product download
    if ($this->hasProductDownload($params['cart']))
        return false;
    //Check whether the cod done exceeds the daily limit if yes dont display the cod option
    $cod_limit  = Configuration::get('PS_KITS_COD_DAILY_LIMIT');//  number of cod
    $sql        = "select count(*) AS cod_count from ps_orders where module='cashondelivery' and date(date_add) = CURDATE() and ( current_state= 3 or current_state=4)";    
    if ($row = Db::getInstance()->getRow($sql)){
    $cod_count        = $row['cod_count']; 
    }
    if ($cod_count  >= $cod_limit){
    return ;
    }
    $smarty->assign(array(
        'this_path' => $this->_path, //keep for retro compat
        'this_path_cod' => $this->_path,
        'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/'
    ));
    return $this->display(__FILE__, 'payment.tpl');
}
于 2016-08-03T08:32:53.153 に答える