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


Где находится чанк редактирования заказа в "Упарвлении заказами"

  • Shopkeeper3
    Подскажите пожалуйста, хочу добавить TV "Код товара". Пошарился в чанках - не нашел нужного. Где найти чанк редактирования заказа именно в управлении заказами?
    редактирование заказа

  • /core/components/shopkeeper3/templates/home.tpl

    После строчки

    <h3>{{ 'shk3.order_composition' | translate }}</h3>
    
  • @Andchir Спасибо!!! поправил - все встало
    А не подскажете еще... при добавлении нового товара с этого же окна (редактирование) встает товар, но прописанные мои TV не появляются.
    На товарах, которые были заказаны с сайта пользователем все встает нормально.
    Получается добавляю новый товар из "Управление заказами", вписываю ID и количество - подставляется name, price, а мои прописанные kod и title не встают (пусто).
    Может где вписать надо их еще?

  • @Andchir я так понял нужно прописать в saveorder.class.php вот сюда:

    //Сохраняем новые товары
                if( $purchases_data ){
                    
                    //Параметры сниппета Shopkeeper3
                    $snippet_properties = array();
                    $response = $this->modx->runProcessor( 'getsnippetproperties',
                        array(),
                        array('processors_path' => $this->modx->getOption( 'core_path' ) . 'components/shopkeeper3/processors/mgr/')
                    );
                    if ( !$response->isError() ) {
                        $snippet_properties = $response->getObject();
                    }
                    
                    require_once $this->modx->getOption('core_path') . "components/shopkeeper3/model/shopkeeper.class.php";
                    $shopCart = new Shopkeeper( $this->modx, $snippet_properties );
                    $shopCart->addPackage( $packageName );
                    
                    foreach( $purchases_data as $k => $temp_arr ){
                        if( empty( $temp_arr['id'] ) ){
                            
                            $new_p = array(
                                'p_id' => ( !empty( $temp_arr['p_id'] ) ? $temp_arr['p_id'] : 0 ),
                                'order_id' => $order_id,
                                'name' => $temp_arr['name'],
                                'count' => ( !empty( $temp_arr['count'] ) ? $temp_arr['count'] : 1 ),
                                'price' => ( !empty( $temp_arr['price'] ) ? $temp_arr['price'] : '' ),
                                'options' => ( !empty( $temp_arr['options'] ) ? $temp_arr['options'] : '' ),
                                'class_name' => $className,
                                'package_name' => $packageName
                            );
                            
                            if( is_array( $new_p['options'] ) ){
                                $new_p['options'] = json_encode( $new_p['options'] );
                            }
                            
                            //Если нет названия или цены
                            if( !empty( $new_p['p_id'] ) && empty( $new_p['name'] ) || empty( $new_p['price'] ) ){
                                
                                $shopCart->getPurchaseFromDB( $new_p['p_id'], $className );
                                if( is_object( $shopCart->purchase ) ){
                                    
                                    if( empty( $new_p['name'] ) ){ $new_p['name'] = $shopCart->purchase->get($shopCart->config['fieldName']); }
                                    if( !isset( $new_p['price'] ) || $new_p['price'] == '' ){
                                        $new_p['price'] = $shopCart->getProductPrice();
                                    }
                                    
                                    $fields_data = array( 'url' => $shopCart->getPurchaseUrl() );
                                    $fields_data_str = json_encode( $fields_data );
                                    $new_p['data'] = $fields_data_str;
                                    
                                }else{
                                    $new_p['price'] = 0;
                                }
                                
                            }
                            
                            $purchase = $this->modx->newObject( 'shk_purchases' );
                            $purchase->fromArray($new_p);
                            $purchase->save();
                            
                        }
                    }
                    
                }
    

    Методом тыка не получилось))
    Как добавить при сохранении извлечение TV параметра "kod" из $shopCart->purchase ?
    Или тут все намного сложнее?

  • @e.a.novgorodov Можете дать код того как выводите свой TV с кодом товара?

  • В параметрах shopkeeper 3.2.4 savePurchasesFields прописан tv articul, но не понятно как его теперь вызвать в home.tpl. В чанке /core/components/shopkeeper3/templates/home.tpl ячейку для данного параметра создал, но все не пойму как вызвать там данные этого tv?

 

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

  • Z

    Спасибо, действительно проще создать отдельно.

    Читать далее
  • Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]].

    Можно не использовать [[+addit_data]], а выводить параметры по-отдельности.

    Цитата из документации:

    [[+shk_любой доп.параметр]] - любой доп. параметр, выбранный при добавлении товара в корзину (из [[+addit_data]]), например [[+shk_param1]].
    Если параметры сделаны в виде чекбоксов, то чтобы вывести отдельно каждый из них, нужно добавлять индекс (номер от нуля) для параметров следующих за первым.
    Пример: [[+shk_param1]], [[+shk_param1_1]], [[+shk_param1_2]] ...
    [[+shk_любой доп.параметр_price]] - цена доп.параметра. Пример: [[+shk_param1_price]].

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

    Доброго времени суток. Не могу разобраться, как передать данные migx-поля в корзину в плейсхолдер без "дублирования" в [[+addit_data]]
    Суть в чем: У меня есть 2 цены у товара (со скидкой и без скидки) Форма для отправки в корзину:

    <form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]].html" method="post"> <input type="hidden" name="shk-id" value="[[*id]]" /> <input type="hidden" name="shk-name" value="[[*pagetitle]]" /> <input type="hidden" name="price_old__[[*id]]__add" value="[[*price_old]]" /> <input type="hidden" name="shk-count" value="1" /> <div class="product-price"> Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span> Старая цена - <span class="shk-price-old">[[+price_old]]</span> [[!+shk_currency]] </div> <div class="padding-lr-30"> <h5>Дополнительные услуги</h5> [[*param1]] </div> <div class="product-price"> <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button> </div> </form>

    Данные со "старой ценой" в корзину попадают нормально и выводится в нужном месте в плейсхолдере:
    [[+shk_price_old]]
    Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]]. Как сделать чтобы старая цена не выводилась в [[+addit_data]]? Или может я как то не правильно передаю MIGX-параметр в корзину ? Заранее спасибо.

    Читать далее
  • Фотографии, как я понял, это второй вопрос. Я по нему пока ничего не отвечал и не просил информации. Это не отменяет того, что в вашем конфиге есть ошибка, о которой я писал выше. Не нужно задавать разные вопросы в одной теме, чтобы не было путаницы.
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

    Читать далее