Я хочу отключить треску, когда в prestashop будет выполнено 100 заказов на треску

Я хочу отключить функцию доставки наложенного платежа на странице заказов в prestashop 1.6.3, когда в день выполняется 100/50 заказов (это будет параметр).

Как отключить это программно, выяснив, было ли выполнено 100 тресков.

введите здесь описание изображения


person Jerry Abraham    schedule 03.08.2016    source источник
comment
Вы не можете сделать это из готового Prestashop. Вам нужно будет создать свой собственный модуль и подключиться к платежным крючкам, чтобы запросить БД и посмотреть, сколько платежей наложенным платежом было сделано в течение данного дня.   -  person Julien Lachal    schedule 03.08.2016
comment
выберите count(*) AS cod_count из ps_orders, где module='cashondelivery' и date(date_add) = CURDATE() и (current_state= 3 или current_state=4) - Этот запрос является обрядом? Пожалуйста, проверьте мой ответ, который я опубликовал, я изменю крючокPayment в модуле доставки наличными   -  person Jerry Abraham    schedule 03.08.2016


Ответы (1)


Я изменю hookPayment() в модуле cashondelivery, чтобы сделать это:

 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');
}
person Jerry Abraham    schedule 03.08.2016