Подглючивание сниппета shk_options



  • Добрый день, коллеги. На трех подряд магазинах затупливал сниппет. А именно: то выводил, то не выводил данные. Посему, было принято решение быстро и на коленке написать свой сниппет. Да, он крив, некрасив, без классов, но все же работает. Возможно, кому то пригодится, а может и нет. Неважно:)
    Конкретно этот работает для вывода способа оплаты. Доработать я думаю не составит труда.

    $sql = "SELECT * FROM `modx_shopkeeper3_config` WHERE `setting`='payments'";
    
    $query = new xPDOCriteria($modx, $sql);
    if ($query->prepare() && $query->stmt->execute()){
        $res = $query->stmt->fetchAll(PDO::FETCH_ASSOC);
        $x=0;
        while($x<count($res)){
            $r = json_decode($res[$x]['value'], true);
            //print_r($r);
            $x++;
            foreach($r as $param){
                $label = $param['label'];
                if ($param['value'] == '' or empty($param['value'])){
                    $value = $param['label'];
                } else {
                    $value = $param['value'];
                }
                $price = $param['price'];
                if($_SESSION['shk_delivery']['label'] == $label ){
                    $selected="checked='checked'";
                }
                $data.=$modx->parseChunk($tpl,array('label'=>$label,'price'=>$price, 'value'=>$value, 'selected'=>$selected));
                $selected = '';
            }
        }
    }
    return $data;
    

    Вызов:

    [[!getPayment?
        &tpl=`radio_option`
    ]]
    

    И да, чуть не забыл, работает для input[type=radio]



Последние темы

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.