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



  • 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?



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