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


"shopkeeper3" вывести данные о заказе после оформления

  • Добрый вечер!
    Подскажите каким образом в "shopkeeper3" вывести данные о заказе после оформления.
    Находил где то плагин для этого, но сейчас не могу найти.
    Вывести нужно номер заказа и что купили.
    Помогите пожалуйста. Заранее благодарю.

  • <?php
    $modx->addPackage('shopkeeper3', $modx->getOption('core_path').'components/shopkeeper3/model/');
    $order = $modx->getObject('shk_order', [[!+shk.id]]);
    if( !$order ){
        return '';
    }
    $purchases = $modx->getCollection('shk_purchases', array('order_id' => $order->id));
    foreach ($purchases as $p) {
       echo "
            <li>Номер Вашего заказа — <b>№ [[!+shk.id]]</b></li>
            <li>Данные заказа — {$p->get('name')} 
            ";
    }
    

    Написал вот что.
    Подскажите, как сделать так, что бы не дублировались строки, если в заказе более одной позиции. при таком решении выводится вот что

    Номер Вашего заказа — № 1
    Данные заказа — All about me. №6. My flooring
    Номер Вашего заказа — № 1
    Данные заказа — Freeze-frame

  • как вывести разобрался, правда костыльно
    при таком сниппете выводятся данные о заказе №1 , что поправить что бы работало как нужно.

  • Подскажите, как сделать так, что бы не дублировались строки, если в заказе более одной позиции

    Убрать строку с номером заказа из цикла.

    $order = $modx->getObject('shk_order', [[!+shk.id]]);
    

    И это работает? Удивительно...

    Надо создать сниппет в админке и передавать в него ID заказа через параметры.

    [[!my_snippet?order_id=`[[!+shk.id]]`]]
    

    Или брать из плейсхолдера, который уже доступен.

    //Это в коде сниппета
    $order_id = $modx->getPlaceholder('shk.id');
    
  • <?php
    $modx->addPackage('shopkeeper3', $modx->getOption('core_path').'components/shopkeeper3/model/');
    $order_id = $modx->getPlaceholder('shk.id');
    if( !$order ){
        return '';
    }
    $purchases = $modx->getCollection('shk_purchases', array('order_id' => $order->id));
    
    foreach ($purchases as $p) {
       echo "
            <li>Номер Вашего заказа — <b>№ [[!+shk.id]]</b></li>
            <li>Данные заказа — {$p->get('name')} 
            ";
    }
    

    так вообще не работает.

  • Так это всё у меня получилось реализовать, с мучениями правда. Вроде работает правильно.
    Теперь другой вопрос, как вывести дополнительные параметры.
    Вот в этом коде, куда что вставить? options ставил, но там массив выходит, вот его как то преобразовать нужно я так понимаю, но как???

    <?php
    $modx->addPackage('shopkeeper3', $modx->getOption('core_path').'components/shopkeeper3/model/');
    $order_id = $modx->getPlaceholder('shk.id');
    $order = $modx->getObject('shk_order', $order_id);
    if( !$order ){
        return '';
    }
    $purchases = $modx->getCollection('shk_purchases', array('order_id' => $order->id));
    echo "<li>Номер Вашего заказа — <b>№ $order_id</b></li>";
    echo "<li>Данные заказа — ";
    foreach ($purchases as $p) {
       echo ", <a href='[[~{$p->get('p_id')}]]'>{$p->get('name')}</a> ({$p->get('count')} шт.)";
    }
    
  • Вы пользовались поиском по форуму? По-моему где-то был готовый сниппет или какие-то куски.

  • @CSite Блин, можнож это в более цивильный вид перевести.
    Например в поле "Данные заказа" тег li открывается но не закрывается.
    По хорошему еще использовать return вместо echo и завернуть ответ в $modx->setPlaceholder('placeholder', $item);

  • Я вроде весь форум перерыл, кусками и собрал это)
    в php не силён.

 

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

  • 0_1575831062911_shk-logo-small-blue.png
    Что нового в версии 4.1.3:

    Добавлен компонент "Отзывы и рейтинги" (есть интерфейс для администратора). Обновлены версии всех сторонних пакетов.

    Демо-сайт обновлен. https://shk4-demo.modx-shopkeeper.ru/
    Логин: admin
    Пароль: admin

    0_1575830694586_ru_screenshot001.png

    0_1575830705492_ru_screenshot002.png

    0_1575830710901_ru_screenshot003.png

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

    Если вдруг кто-то озадачится.
    В файле updateorderstatus.class.php

    //Формируем письмо $orderOutputData = $shopCart->getOrderData( $order_id ); $chunkArr = array( 'orderID' => $order_data['id'], 'orderDate' => $order_data['date'], 'statusName' => $status_data['label'], 'orderCurrency' => $shopCart->config['currency'], 'orderOutputData' => $orderOutputData, //добавляем строку 'status' => $status_data['color'], );

    Читать далее
  • Участник @Vladislava написал в Проблема с giftCards:

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Сравнение товаров
    https://e-store.shopkerx.net/katalog/modx_extras/compare

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

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Читать далее