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


Как передать в корзину цену товара без TV?

  • Всем привет.
    Есть поле, типа такого:

    <input type = "hidden" name = "itemPrice" value = "3000">
    

    Значение атрибута value подставляется динамически, при расчёте стоимости. Вопрос: как можно передать эту цену в корзину? Пробовал вставить "itemPrice" в параметр &fieldPrice, но ничего не выходит. Буду благодарен за помощь.

  • Помог плагин на событие OnSHKgetProductPrice

    <?php
    $output = 0;
    
    if(!empty($_POST['itemPrice']) && is_numeric($_POST['itemPrice'])){
        
        $output = $_POST['itemPrice'];
        
    }else{
        
        $price_tv_name = 'price';
        $p_id = isset($purchaseArray['shk-id']) && is_numeric($purchaseArray['shk-id']) ? $purchaseArray['shk-id'] : 0;
        if($p_id){
            $price_tv = $modx->getObject('modTemplateVar',array('name'=>$price_tv_name));
            $output = $price_tv->renderOutput($p_id);
        }
        
    }
    
    $modx->event->_output = '';
    $modx->event->output($output);
    
    return '';
    
 

Последние комментарии

  • @LoGruS Поправка, привязываемся к значению [[+value]]

    Читать далее
  • Участник @Andchir написал в Ограничение покупки:

    SHK.recountItemAll();

    Андрей, спасибо! Сделал, работает и обновление цены и ограничение товаров по инвентори.

    Итоговый вариант (вдруг кому пригодится):

    Поле кол-во товара:

    <input class="shk-count" type="number" name="count[]" value="[[+count]]" min="1" max="[[+inventory]]" />

    Кнопка пересчитать:

    <a href="#" onclick="SHK.recountItemAll(); return false;" data-toggle="tooltip" title="Пересчитать">Пересчитать</a>

    ИТОГО - контроль кол-ва.

    Читать далее
  • Решается без костылей из js

    [[+name:is=`color`:then=`<label for="[[+name]]__[[+idx]]" class="d-block custom-control-label shk-color-checkbox [[+name]][[+idx]]" title="[[+value]]"></label><p class="ml-40">[[+value]]</p>`:else=`<label for="[[+name]]__[[+idx]]">[[+value_name]]</label>`]]

    Получаем на странице строку такого вида:

    <label for="color__1" class="d-block custom-control-label shk-color-checkbox color1" title="Голубой"></label><sup>17</sup><p class="ml-40">Голубой</p>

    Привязываемся в css к классу color1, а дальше CSS спрайты и стили решают все, проверенно, работает 😃 Спасибо Андрею и его демо-сайту с shopkeeper4, подглядел решение на нем.

    Читать далее