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


Shopkeeper3 добавление товара в списке покупок

  • Доброго времени суток!
    Допиливаю функционал заказа в один клик на MODX Revo 2.6 + Shopkeeper 3.2.7-pl3.
    Создаю новый заказ для отображения в интерфейсе управления заказами:
    $order = $modx->newObject('shk_order');
    Добавляю все свойства и контактные данные.
    Никак не могу разобраться как добавить сам список покупок.
    Получить список можно:

    $id = 5; // к примеру, 5, это id заказа в Управлении заказами
    $order = $modx->getObject('shk_order', $id);
    $purchases = $modx->getCollection('shk_purchases', array('order_id' => $order->id));
    foreach ($purchases as $p) {
    echo "{$p->get('name')} : {$p->get('price')}<br>";
    }

    Программист из меня тот ещё... Прошу подсказать, или навести на мысль, как добавить товары. Значения хранятся, насколько понимаю в объекте shk_purchases, но документации по работе с ним нет. А структура у него та ещё...
    Заранее благодарен за помощь!

  • я делал как-то так (мне надо было после заказа обновлять цены и количество товаров из базы).

    массив покупок

        $purchase = array(
        "p_id" => $docId,
        "order_id" => $orderID,
        "name" => $title,  
        "price" => $itemPrice, 
        "count" => $quant,
        "class_name" => modResource // не уверен что надо...
        ); 
        $importPurchases[] = $purchase;
    

    сохраняем в заказ покупки

            $response = $modx->runProcessor('saveorder',
            array(
                'order' => array('purchases' => $importPurchases, 'id' => $orderID),
                'contacts' => $contacts   // контакты потом пересохранял отдельно
            ),
            array('processors_path' => MODX_CORE_PATH . 'components/shopkeeper3/processors/mgr/')
        );
 

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

  • Есть ещё сниппет param_edit_table. Там можно задавать свой шаблон.
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/elements/snippets/param_edit_table.php

    [[param_edit_table? &docId=`1` &tvName=`param1` &tpl=`properties_table` ]]

    Читать далее
  • C

    Нашел где формируется содержимое доп.поля
    core/components/shopkeeper3/elements/tv/output/shk_checkbox.class.php
    Здесь можно добавить span(с ценой). Чтобы вывести еще одно поле созданное в админке (прикрепляю скриншот), строку 21

    list($item,$itemvalue) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    меняете на

    list($item,$itemvalue,$itemdesc) = strpos($line,'==')!==false ? explode("==",$line) : array($line,'');

    тоесть, вся суть в добавлении третьего параметра $itemdesc (название можно вписать любое). А потом просто используем эту метку в формировании чекбокса.

    0_1550739109576_dopValue.jpg

    Читать далее
  • C

    Здравствуйте! Скажите пожалуйста, есть ли возможность вывести цену параметра, рядом с названием этого параметра? Вот такой вызов [[*dopValue:replace=`[[+id]]==[[*id]]`]] выводит нам параметры в виде input + label , input + label , input + label, а мне надо input + label + span(с ценой), input + label + span(с ценой) и тд...
    И сразу усложню вопрос - как вывести не только значение цены параметра, но и остальных значений параметра. Например если мне нужна вот такая конструкция - input + label + span(с ценой) + span(с описанием)?

    Устал искать решение и попытки тщетны... Буду рад любой помощи, догадке, наводке!

    Читать далее
  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее