Plugin Directory

Changeset 3276976


Ignore:
Timestamp:
04/18/2025 11:17:25 PM (12 months ago)
Author:
eshoplogistic
Message:

Добавлены дополнительные поля для автоматизации выгрузки

Location:
eshoplogisticru/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • eshoplogisticru/trunk/Classes/Shipping/ExportFileds.php

    r3197499 r3276976  
    205205            $optionsRepository = new OptionsRepository();
    206206            $exportFormSettings = $optionsRepository->getOption('wc_esl_shipping_export_form');
     207            if(!isset($exportFormSettings['combine-places-apply']))
     208                $exportFormSettings['combine-places-apply'] = false;
     209
    207210            $result = array(
    208211                'order' => array(
     
    245248            $optionsRepository = new OptionsRepository();
    246249            $exportFormSettings = $optionsRepository->getOption('wc_esl_shipping_export_form');
     250            if(!isset($exportFormSettings['type-order-sdek']))
     251                $exportFormSettings['type-order-sdek'] = false;
     252
     253            if(!isset($exportFormSettings['combine-places-apply']))
     254                $exportFormSettings['combine-places-apply'] = false;
     255
    247256            $result = array(
    248257                'order'    => array(
  • eshoplogisticru/trunk/Http/Controllers/OrderController.php

    r2969743 r3276976  
    3434     */
    3535    public function save( \WP_REST_Request $request ): ResponseInterface {
    36         $path = $_SERVER["DOCUMENT_ROOT"] . '/wp-content/esl_test.log';
    37         error_log(print_r($request, true), 3, $path);
    3836        $data                 = [];
    3937        $optionsRepository    = new OptionsRepository();
  • eshoplogisticru/trunk/Modules/Ajax.php

    r3205693 r3276976  
    33namespace eshoplogistic\WCEshopLogistic\Modules;
    44
     5use eshoplogistic\WCEshopLogistic\Classes\Shipping\ExportFileds;
    56use eshoplogistic\WCEshopLogistic\Contracts\ModuleInterface;
    67use eshoplogistic\WCEshopLogistic\Helpers\ShippingHelper;
     
    265266        $result = $optionsRepository->getOption('wc_esl_shipping_add_field_form');
    266267
     268        $result[$type] = [];
    267269        foreach ($addField as $value){
    268270            if(isset($value['name']))
     
    576578        $sessionService = new SessionService();
    577579        $sessionService->set('esl_shipping_frame', $data);
    578         if(!isset($data['address']))
     580        if(!isset($data['address']) || !$data['address'])
    579581            $sessionService->drop('terminal_location');
    580582
     
    775777        $eshopLogisticApi = new EshopLogisticApi( new WpHttpClient() );
    776778        $additionalFields = $eshopLogisticApi->apiExportAdditional( $additional );
     779        $addFieldSaved = $optionsRepository->getOption('wc_esl_shipping_add_field_form');
     780        $methodDelivery = new ExportFileds();
     781        $fieldDelivery  = $methodDelivery->exportFields( mb_strtolower( $type ));
     782
     783        $html = '<form action="/" method="post" id="eslAddFieldForm" data-type="'.$type.'">';
    777784        if ( $additionalFields->hasErrors() ) {
    778             $html = '<p>Ошибка при получении дополнительных услуг</p>';
     785            $html .= '<p>Ошибка при получении дополнительных услуг</p>';
    779786        } else {
    780787            $additionalFields = $additionalFields->data();
     
    788795                );
    789796                $type = mb_strtolower( $type );
    790                 $optionsRepository = new OptionsRepository();
    791                 $addFieldSaved = $optionsRepository->getOption('wc_esl_shipping_add_field_form');
    792 
    793                 $html = '<form action="/" method="post" id="eslAddFieldForm" data-type="'.$type.'"><div class="esl-box_add">';
     797
     798                $html .= '<div class="esl-box_add">';
    794799                foreach ( $additionalFields as $key => $value) {
    795800                    $title = ( $additionalFieldsRu[ $key ] ) ?? $key;
     
    817822                    }
    818823                }
    819                 $html .= '</div></div>';
     824                $html .= '</div>';
    820825            }else{
    821                 $html = '<p>Дополнительные услуги отсутствуют.</p>';
    822             }
    823 
    824         }
     826                $html .= '<p>Дополнительные услуги отсутствуют.</p>';
     827            }
     828
     829        }
     830
     831        if ( $fieldDelivery ) {
     832            $html .= ' <h4>Дополнительные настройки выгрузки ТК.</h4>';
     833            // Внешний цикл по массиву полей
     834            foreach ($fieldDelivery as $nameArr => $arr) {
     835                // Внутренний цикл по каждому полю
     836                foreach ($arr as $key => $value) {
     837                    // Разбиваем ключ на части
     838                    list($name, $typeField, $nameRu) = explode('||', $key);
     839                    $nameRu = $nameRu ?? $name;
     840                    $styleForm = '';
     841
     842                    // Устанавливаем специальный класс для чекбоксов
     843                    if ($typeField === 'checkbox') {
     844                        $styleForm = 'checkbox-area';
     845                    }
     846
     847                    // Выводим контейнер поля формы
     848                    $html .= '
     849                                <div class="form-field_add '.$styleForm.'">
     850                                <label class="label" for="'.$name.'">'.$nameRu.'</label>
     851                                ';
     852
     853
     854                    $nameValue = $nameArr.'['.$name.']';
     855                    $nameFiledSaved = $nameArr.'['.$name.']';
     856                    // Генерируем соответствующее поле ввода
     857                    switch ($typeField) {
     858                        case 'text':
     859                            $valueSaved = '';
     860                            if(isset($addFieldSaved[$type][$nameFiledSaved])){
     861                                $valueSaved = $addFieldSaved[$type][$nameFiledSaved];
     862                            }
     863                            $html .= '<input class="form-value" name="'.$nameValue.'" type="text" value="'.$valueSaved.'">';
     864                            break;
     865
     866                        case 'checkbox':
     867                            $valueSaved = '';
     868                            if(isset($addFieldSaved[$type][$nameFiledSaved]) && $addFieldSaved[$type][$nameFiledSaved] == 'on'){
     869                                $valueSaved = 'checked';
     870                            }
     871                            $html .= '<input class="form-value" name="'.$nameValue.'" type="checkbox" '.$valueSaved.'>';
     872                            break;
     873
     874                        case 'date':
     875                            $valueSaved = '';
     876                            if(isset($addFieldSaved[$type][$nameFiledSaved])){
     877                                $valueSaved = $addFieldSaved[$type][$nameFiledSaved];
     878                            }
     879                            $html .= '<input class="form-value" name="'.$nameValue.'" type="date" value="'.$valueSaved.'">';
     880                            break;
     881
     882                        case 'select':
     883                            $html .= '<select class="form-value" name="'.$nameValue.'">';
     884
     885                            // Цикл по опциям селекта
     886                            foreach ($value as $k => $v) {
     887                                if (is_array($v) && isset($v['text'])) {
     888                                    $valueSaved = '';
     889                                    if(isset($addFieldSaved[$type][$nameFiledSaved]) && $k == $addFieldSaved[$type][$nameFiledSaved]){
     890                                        $valueSaved = 'selected';
     891                                    }
     892                                    $html .= '<option value="'.$k.'" '.$valueSaved.'>'.$v['text'].'</option>';
     893                                } else {
     894                                    $valueSaved = '';
     895                                    if(isset($addFieldSaved[$type][$nameFiledSaved]) && $k == $addFieldSaved[$type][$nameFiledSaved]){
     896                                        $valueSaved = 'selected';
     897                                    }
     898                                    $html .= '<option value="'.$k.'" '.$valueSaved.'>'.$v.'</option>';
     899                                }
     900                            }
     901
     902                            $html .= '</select>';
     903                            break;
     904                    }
     905
     906                    $html .= '</div>';
     907                }
     908            }
     909
     910        }
     911
     912        $checkSelf = '';
     913        $checkTK = '';
     914        if(isset($addFieldSaved[$type]['pick_up']) && $addFieldSaved[$type]['pick_up'] == 0){
     915            $checkSelf = 'selected';
     916        }
     917        if(isset($addFieldSaved[$type]['pick_up']) && $addFieldSaved[$type]['pick_up'] == 1){
     918            $checkTK = 'selected';
     919        }
     920        $html .= '
     921            <h4>Дополнительные настройки ТК.</h4>
     922            <div class="form-field_add">
     923                <label class="label">Способ доставки до терминала ТК</label>
     924                 <select name="pick_up" class="form-value">
     925                    <option value="0" '.$checkSelf.'>Сами привезём на терминал транспортной компании</option>
     926                    <option value="1" '.$checkTK.'>Груз заберёт транспортная компания</option>
     927                 </select>
     928            </div>
     929        ';
     930
     931        $html .= '</form>';
    825932
    826933        wp_send_json([
  • eshoplogisticru/trunk/Modules/Checkout.php

    r3234749 r3276976  
    1616    public function init()
    1717    {
    18         //add_action('woocommerce_after_checkout_billing_form', [$this, 'injectBillingFields']);
    19         //add_action('woocommerce_after_checkout_shipping_form', [$this, 'injectShippingFields']);
     18        add_action('woocommerce_after_checkout_billing_form', [$this, 'injectBillingFields']);
     19        add_action('woocommerce_after_checkout_shipping_form', [$this, 'injectShippingFields']);
    2020        add_action('woocommerce_checkout_update_order_review', [$this, 'clearShippingCache']);
    2121        add_action('woocommerce_after_shipping_rate', [$this, 'infoShippingMethodItem']);
     
    2323        add_action('cfw_checkout_after_shipping_methods', [$this, 'injectShippingFormFields']);
    2424        add_action('woocommerce_after_shipping_rate', [$this, 'buttonTerminal'], 10, 2);
     25        add_action('woocommerce_checkout_update_order_meta',[$this, 'addSaveField'], 25);
     26    }
     27
     28
     29    function addSaveField( $order_id ){
     30
     31        if( ! empty( $_POST[ 'esl_billing_field_street' ] ) ) {
     32            update_post_meta( $order_id, 'esl_billing_field_street', sanitize_text_field( $_POST[ 'esl_billing_field_street' ] ) );
     33        }
     34        if( ! empty( $_POST[ 'esl_billing_field_building' ] ) ) {
     35            update_post_meta( $order_id, 'esl_billing_field_building', sanitize_text_field( $_POST[ 'esl_billing_field_building' ] ) );
     36        }
     37        if( ! empty( $_POST[ 'esl_billing_field_room' ] ) ) {
     38            update_post_meta( $order_id, 'esl_billing_field_room', sanitize_text_field( $_POST[ 'esl_billing_field_room' ] ) );
     39        }
     40
     41        if( ! empty( $_POST[ 'esl_shipping_field_street' ] ) ) {
     42            update_post_meta( $order_id, 'esl_shipping_field_street', sanitize_text_field( $_POST[ 'esl_shipping_field_street' ] ) );
     43        }
     44        if( ! empty( $_POST[ 'esl_shipping_field_building' ] ) ) {
     45            update_post_meta( $order_id, 'esl_shipping_field_building', sanitize_text_field( $_POST[ 'esl_shipping_field_building' ] ) );
     46        }
     47        if( ! empty( $_POST[ 'esl_shipping_field_room' ] ) ) {
     48            update_post_meta( $order_id, 'esl_shipping_field_room', sanitize_text_field( $_POST[ 'esl_shipping_field_room' ] ) );
     49        }
     50
    2551    }
    2652
     
    91117    public function injectBillingFields()
    92118    {
    93         $this->injectFields( 'billing' );
     119        woocommerce_form_field(
     120            'esl_billing_field_street',
     121            array(
     122                'type'          => 'text',
     123                'required'  => true,
     124                'class'         => array( 'true-field', 'form-row-wide' ),
     125                'label'         => 'Улица',
     126                'label_class'   => 'true-label', // класс лейбла
     127            ),
     128        );
     129        woocommerce_form_field(
     130            'esl_billing_field_building',
     131            array(
     132                'type'          => 'text',
     133                'required'  => true,
     134                'class'         => array( 'true-field', 'form-row-wide' ),
     135                'label'         => 'Здание',
     136                'label_class'   => 'true-label', // класс лейбла
     137            ),
     138        );
     139        woocommerce_form_field(
     140            'esl_billing_field_room',
     141            array(
     142                'type'          => 'text',
     143                'required'  => true,
     144                'class'         => array( 'true-field', 'form-row-wide' ),
     145                'label'         => 'Квартира / офис',
     146                'label_class'   => 'true-label', // класс лейбла
     147            ),
     148        );
    94149    }
    95150
    96151    public function injectShippingFields()
    97152    {
    98         $this->injectFields( 'shipping' );
     153        woocommerce_form_field(
     154            'esl_shipping_field_street',
     155            array(
     156                'type'          => 'text',
     157                'required'  => true,
     158                'class'         => array( 'true-field', 'form-row-wide' ),
     159                'label'         => 'Улица',
     160                'label_class'   => 'true-label', // класс лейбла
     161            ),
     162        );
     163        woocommerce_form_field(
     164            'esl_shipping_field_building',
     165            array(
     166                'type'          => 'text',
     167                'required'  => true,
     168                'class'         => array( 'true-field', 'form-row-wide' ),
     169                'label'         => 'Здание',
     170                'label_class'   => 'true-label', // класс лейбла
     171            ),
     172        );
     173        woocommerce_form_field(
     174            'esl_shipping_field_room',
     175            array(
     176                'type'          => 'text',
     177                'required'  => true,
     178                'class'         => array( 'true-field', 'form-row-wide' ),
     179                'label'         => 'Квартира / офис',
     180                'label_class'   => 'true-label', // класс лейбла
     181            ),
     182        );
    99183    }
    100184
  • eshoplogisticru/trunk/Modules/Unloading.php

    r3227463 r3276976  
    327327                $addFieldSaved = $optionsRepository->getOption('wc_esl_shipping_add_field_form');
    328328
    329 
    330                 echo View::render( 'unloading-form', [
     329                $street = get_post_meta( $order->get_id(), 'esl_billing_field_street', true );
     330                $building = get_post_meta( $order->get_id(), 'esl_billing_field_building', true );
     331                $room = get_post_meta( $order->get_id(), 'esl_billing_field_room', true );
     332
     333                if(!$street)
     334                    $street = get_post_meta( $order->get_id(), 'esl_shipping_field_street', true );
     335
     336                if(!$building)
     337                    $building = get_post_meta( $order->get_id(), 'esl_shipping_field_building', true );
     338
     339                if(!$room)
     340                    $room = get_post_meta( $order->get_id(), 'esl_shipping_field_room', true );
     341
     342                echo View::render( 'unloading-form', [
    331343                    'orderData'          => $orderData,
    332344                    'orderItems'         => $orderItems,
     
    341353                    'orderShippingId'    => $orderShippingId,
    342354                    'infoApi'            => $infoApi,
    343                     'addFieldSaved'   => $addFieldSaved
     355                    'addFieldSaved'      => $addFieldSaved,
     356                    'street'             => $street,
     357                    'building'           => $building,
     358                    'room'               => $room
    344359                ] );
    345360            }
  • eshoplogisticru/trunk/assets/css/admin.css

    r3205693 r3276976  
    317317}
    318318
    319 #modal-esl-add-field input{
    320     border: black !important;
     319#modal-esl-add-field input, #modal-esl-add-field select{
    321320    height: 15px;
    322     margin-left: 2px;
     321    margin-left: 10px;
     322}
     323
     324#modal-esl-add-field input[type=number] {
     325    width: 63px;
    323326}
    324327
     
    327330}
    328331
    329 #modal-esl-add-field input[type=checkbox] {
    330     float: unset;
    331     height: 15px;
    332     width: 15px !important;
    333     border: 1px solid rgba(0, 0, 0, 0.14) !important;
    334     margin: 2px auto;
    335 }
    336 
    337332#modal-esl-add-field .form-field_add {
    338     margin: 10px;
    339     display: inline-grid;
    340 }
     333    margin: 6px;
     334    display: inline-flex;
     335    background-color: #eee;
     336    padding: 8px;
     337    border-radius:8px;
     338}
  • eshoplogisticru/trunk/assets/js/checkout.js

    r3164990 r3276976  
    180180        let offAddressCheck = $('#offAddressCheck');
    181181
     182        let billingFieldStreet = $('#esl_billing_field_street_field');
     183        let billingFieldBuilding = $('#esl_billing_field_building_field');
     184        let billingFieldRoom = $('#esl_billing_field_room_field');
     185
     186        let shippingFieldStreet = $('#esl_shipping_field_street_field');
     187        let shippingFieldBuilding = $('#esl_shipping_field_building_field');
     188        let shippingFieldRoom = $('#esl_shipping_field_room_field');
     189
    182190        if( isTerminal ) {
    183191            if( differentShippingAddress && ( shippingCountry ) ) {
     
    187195                    shippingAddress1.hide();
    188196                    shippingAddress2.hide();
     197
     198                    billingFieldStreet.hide();
     199                    billingFieldBuilding.hide();
     200                    billingFieldRoom.hide();
     201                    shippingFieldStreet.hide();
     202                    shippingFieldBuilding.hide();
     203                    shippingFieldRoom.hide();
    189204                }
    190205
     
    200215                        shippingAddress1.hide();
    201216                        shippingAddress2.hide();
     217
     218                        billingFieldStreet.hide();
     219                        billingFieldBuilding.hide();
     220                        billingFieldRoom.hide();
     221                        shippingFieldStreet.hide();
     222                        shippingFieldBuilding.hide();
     223                        shippingFieldRoom.hide();
    202224                    }else{
    203225                        billingAddress1.show();
     
    205227                        shippingAddress1.show();
    206228                        shippingAddress2.show();
     229
     230                        billingFieldStreet.show();
     231                        billingFieldBuilding.show();
     232                        billingFieldRoom.show();
     233                        shippingFieldStreet.show();
     234                        shippingFieldBuilding.show();
     235                        shippingFieldRoom.show();
    207236                    }
    208237                }
     
    215244                    shippingAddress1.show();
    216245                    shippingAddress2.show();
     246
     247                    billingFieldStreet.show();
     248                    billingFieldBuilding.show();
     249                    billingFieldRoom.show();
     250                    shippingFieldStreet.show();
     251                    shippingFieldBuilding.show();
     252                    shippingFieldRoom.show();
    217253                }
    218254
     
    232268                shippingAddress1.show();
    233269                shippingAddress2.show();
     270
     271                billingFieldStreet.show();
     272                billingFieldBuilding.show();
     273                billingFieldRoom.show();
     274                shippingFieldStreet.show();
     275                shippingFieldBuilding.show();
     276                shippingFieldRoom.show();
    234277            }
    235278
  • eshoplogisticru/trunk/assets/js/checkout_frame_v2.js

    r3249790 r3276976  
    208208        let offAddressCheck = $('#offAddressCheck');
    209209
     210        let billingFieldStreet = $('#esl_billing_field_street_field');
     211        let billingFieldBuilding = $('#esl_billing_field_building_field');
     212        let billingFieldRoom = $('#esl_billing_field_room_field');
     213
     214        let shippingFieldStreet = $('#esl_shipping_field_street_field');
     215        let shippingFieldBuilding = $('#esl_shipping_field_building_field');
     216        let shippingFieldRoom = $('#esl_shipping_field_room_field');
     217
    210218        if (isTerminal === 'terminal' && cityMain) {
    211219            if (differentShippingAddress && (shippingCountry)) {
     
    215223                    shippingAddress1.hide();
    216224                    shippingAddress2.hide();
     225
     226                    billingFieldStreet.hide();
     227                    billingFieldBuilding.hide();
     228                    billingFieldRoom.hide();
     229                    shippingFieldStreet.hide();
     230                    shippingFieldBuilding.hide();
     231                    shippingFieldRoom.hide();
    217232                }
    218233
     
    229244                    shippingAddress1.hide();
    230245                    shippingAddress2.hide();
     246
     247                    billingFieldStreet.hide();
     248                    billingFieldBuilding.hide();
     249                    billingFieldRoom.hide();
     250                    shippingFieldStreet.hide();
     251                    shippingFieldBuilding.hide();
     252                    shippingFieldRoom.hide();
    231253                }
    232254
     
    241263                    shippingAddress1.show();
    242264                    shippingAddress2.show();
     265
     266                    billingFieldStreet.show();
     267                    billingFieldBuilding.show();
     268                    billingFieldRoom.show();
     269                    shippingFieldStreet.show();
     270                    shippingFieldBuilding.show();
     271                    shippingFieldRoom.show();
    243272                }
    244273
     
    253282        ) {
    254283            if(offAddressCheck.length === 0){
    255                 billingAddress1.show();
    256                 billingAddress2.show();
    257                 shippingAddress1.show();
    258                 shippingAddress2.show();
     284                billingAddress1.hide();
     285                billingAddress2.hide();
     286                shippingAddress1.hide();
     287                shippingAddress2.hide();
     288
     289                billingFieldStreet.show();
     290                billingFieldBuilding.show();
     291                billingFieldRoom.show();
     292                shippingFieldStreet.show();
     293                shippingFieldBuilding.show();
     294                shippingFieldRoom.show();
    259295            }
    260296
     
    275311                shippingAddress1.show();
    276312                shippingAddress2.show();
     313
     314                billingFieldStreet.hide();
     315                billingFieldBuilding.hide();
     316                billingFieldRoom.hide();
     317                shippingFieldStreet.hide();
     318                shippingFieldBuilding.hide();
     319                shippingFieldRoom.hide();
    277320            }
    278321
  • eshoplogisticru/trunk/assets/js/settings.js

    r3205693 r3276976  
    1818    let bindEvents = {
    1919        clickOnAddField: function (event) {
    20             console.log(event)
    2120            let data = [];
    2221            data['action'] = 'wc_esl_shipping_get_add_field';
    23             data['type'] = 'sdek';
     22            data['type'] = event.target.getAttribute('data-mode');
    2423
    2524            HttpClientEsl.post(data, function(result){
    26                 console.log(result)
    2725                if(result.success === true){
    2826                    contentAjax.innerHTML = result.data;
     
    162160                result.push({name:key, value:value});
    163161            }
     162            console.log(data)
    164163
    165164            PreloaderEsl.show(_self.eslAddFieldSelector);
  • eshoplogisticru/trunk/readme.txt

    r3262062 r3276976  
    33Tags: доставка, eshoplogisticru, woocommerce, цена доставки, срок доставки, стоимость доставки, сдэк, пэк, dostavista, picpoint, деловые линии, iml, boxberry, gtd, байкалсервис, сберлогистика, delivery, яндекс доставка
    44Tested up to: 6.71
    5 Stable tag: 2.1.52
     5Stable tag: 2.1.56
    66License: GPLv2
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • eshoplogisticru/trunk/views/settings.php

    r3205693 r3276976  
    10051005                                            <div class="input-group">
    10061006                                                <label for="" class="col-sm-4 col-form-label">
    1007                                                     <?php echo __( 'Тип заказа (СДЭК)', WC_ESL_DOMAIN ) ?>
    1008                                                 </label>
    1009                                                 <?php
    1010                                                 $type_sdek = '';
    1011                                                 if ( isset( $export_form['type-order-sdek'] ) ) {
    1012                                                     $type_sdek = $export_form['type-order-sdek'];
    1013                                                 }
    1014                                                 ?>
    1015                                                 <select id="typeOrderSdek" name="type-order-sdek">
    1016                                                     <option value="1" <?php echo $type_sdek == 1 ? 'selected' : '' ?>>
    1017                                                         Интернет-магазин
    1018                                                     </option>
    1019                                                     <option value="2" <?php echo $type_sdek == 2 ? 'selected' : '' ?>>
    1020                                                         Доставка
    1021                                                     </option>
    1022                                                 </select>
    1023                                             </div>
    1024                                             <div class="input-group">
    1025                                                 <label for="" class="col-sm-4 col-form-label">
    1026                                                     <?php echo __( 'Объединить все грузовые места в одно', WC_ESL_DOMAIN ) ?>
    1027                                                     <label>
    1028                                                         <div class="help-tip">
    1029                                                             <p>
    1030                                                                 СДЭК, Boxberry
    1031                                                             </p>
    1032                                                         </div>
    1033                                                     </label>
    1034                                                 </label>
    1035                                                 <?php
    1036                                                 $combine_places_apply = '';
    1037                                                 if ( isset( $export_form['combine-places-apply'] ) && $export_form['combine-places-apply'] == "on") {
    1038                                                     $combine_places_apply = 'checked';
    1039                                                 }
    1040                                                 ?>
    1041                                                 <input
    1042                                                         type="checkbox"
    1043                                                         class="form-control"
    1044                                                         placeholder="<?php echo __( 'Объединить все грузовые места в одно', WC_ESL_DOMAIN ) ?>"
    1045                                                         name="combine-places-apply"
    1046                                                         class="col-sm-8"
    1047                                                         <?php echo $combine_places_apply ?>
    1048                                                 />
    1049                                             </div>
    1050                                             <div class="input-group">
    1051                                                 <label for="" class="col-sm-4 col-form-label">
    1052                                                     <?php echo __( 'Габариты итогового грузового места. Формат: строка вида «Д*Ш*В», в сантиметрах', WC_ESL_DOMAIN ) ?>
    1053                                                     <label>
    1054                                                         <div class="help-tip">
    1055                                                             <p>
    1056                                                                 СДЭК, Boxberry
    1057                                                             </p>
    1058                                                         </div>
    1059                                                     </label>
    1060                                                 </label>
    1061                                                 <?php
    1062                                                 $combine_places_dimensions = '';
    1063                                                 if ( isset( $export_form['combine-places-dimensions'] ) ) {
    1064                                                     $combine_places_dimensions = $export_form['combine-places-dimensions'];
    1065                                                 }
    1066                                                 ?>
    1067                                                 <input
    1068                                                         type="text"
    1069                                                         class="form-control"
    1070                                                         placeholder="<?php echo __( 'Габариты итогового грузового места', WC_ESL_DOMAIN ) ?>"
    1071                                                         name="combine-places-dimensions"
    1072                                                         class="col-sm-8"
    1073                                                         value="<?php echo esc_attr( $combine_places_dimensions ) ?>"
    1074                                                 />
    1075                                             </div>
    1076                                             <div class="input-group">
    1077                                                 <label for="" class="col-sm-4 col-form-label">
    1078                                                     <?php echo __( 'Вес итогового грузового места в кг', WC_ESL_DOMAIN ) ?>
    1079                                                     <label>
    1080                                                         <div class="help-tip">
    1081                                                             <p>
    1082                                                                 СДЭК, Boxberry
    1083                                                             </p>
    1084                                                         </div>
    1085                                                     </label>
    1086                                                 </label>
    1087                                                 <?php
    1088                                                 $combine_places_weight = '';
    1089                                                 if ( isset( $export_form['combine-places-weight'] ) ) {
    1090                                                     $combine_places_weight = $export_form['combine-places-weight'];
    1091                                                 }
    1092                                                 ?>
    1093                                                 <input
    1094                                                         type="text"
    1095                                                         class="form-control"
    1096                                                         placeholder="<?php echo __( 'Вес итогового грузового места в кг', WC_ESL_DOMAIN ) ?>"
    1097                                                         name="combine-places-weight"
    1098                                                         class="col-sm-8"
    1099                                                         value="<?php echo esc_attr( $combine_places_weight ) ?>"
    1100                                                 />
    1101                                             </div>
    1102                                             <div class="input-group">
    1103                                                 <label for="" class="col-sm-4 col-form-label">
    11041007                                                    <?php echo __( 'Код терминала (Деловые линии)', WC_ESL_DOMAIN ) ?>
    11051008                                                    <label>
     
    15721475
    15731476                                        <div class="row">
    1574                                             <div class="esl-inner_add col-sm-6">
    1575                                                 <button type="button" class="wc-esl-add__button" data-mode="sdek">Настройки для СДЭК</button>
     1477                                            <div class="esl-inner_add col-sm-6 mb-1">
     1478                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="sdek">Настройки для СДЭК</button>
     1479                                            </div>
     1480                                            <div class="esl-inner_add col-sm-6 mb-1">
     1481                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="yandex">Настройки для Яндекс</button>
     1482                                            </div>
     1483                                            <div class="esl-inner_add col-sm-6 mb-1">
     1484                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="fivepost">Настройки для 5POST</button>
     1485                                            </div>
     1486                                            <div class="esl-inner_add col-sm-6 mb-1">
     1487                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="boxberry">Настройки для Boxberry</button>
     1488                                            </div>
     1489                                            <div class="esl-inner_add col-sm-6 mb-1">
     1490                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="delline">Настройки для Деловые линии</button>
     1491                                            </div>
     1492                                            <div class="esl-inner_add col-sm-6 mb-1">
     1493                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="pecom">Настройки для ПЭК</button>
     1494                                            </div>
     1495                                            <div class="esl-inner_add col-sm-6 mb-1">
     1496                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="baikal">Настройки для Байкал Сервис</button>
     1497                                            </div>
     1498                                            <div class="esl-inner_add col-sm-6 mb-1">
     1499                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="kit">Настройки для Кит</button>
     1500                                            </div>
     1501                                            <div class="esl-inner_add col-sm-6 mb-1">
     1502                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="halva">Настройки для Постаматы «Халва»</button>
     1503                                            </div>
     1504                                            <div class="esl-inner_add col-sm-6 mb-1">
     1505                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="postrf">Настройки для Почта России</button>
     1506                                            </div>
     1507                                            <div class="esl-inner_add col-sm-6 mb-1">
     1508                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="magnit">Настройки для Магнит Пост</button>
     1509                                            </div>
     1510                                            <div class="esl-inner_add col-sm-6 mb-1">
     1511                                                <button type="button" class="wc-esl-add__button btn-primary" data-mode="dpd">Настройки для DPD</button>
    15761512                                            </div>
    15771513                                        </div>
  • eshoplogisticru/trunk/views/unloading-form.php

    r3205693 r3276976  
    2424$infoApi            = isset( $infoApi ) ? $infoApi : '';
    2525$addFieldSaved      = isset( $addFieldSaved ) ? $addFieldSaved : array();
     26$street             = isset( $street ) ? $street : '';
     27$building           = isset( $building ) ? $building : '';
     28$room               = isset( $room ) ? $room : '';
    2629
    2730$fulfillment = false;
     
    139142                                $nameRu = $explodeKey[2] ?? $name;
    140143                                $styleForm = '';
     144                                $typeDelivery = mb_strtolower( $typeMethod['name']);
     145                                $nameFiledSaved = $nameArr.'['.$name.']';
    141146
    142147                                if($type === 'checkbox')
     
    146151                                <div class="form-field <?php echo $styleForm ?>">
    147152                                    <label class="label" for="<?php echo $name ?>"><?php echo $nameRu ?></label>
    148                                     <?php if ( $type === 'text' ): ?>
     153                                    <?php if ( $type === 'text' ):
     154                                        $valueSaved = '';
     155                                        if(isset($addFieldSaved[$typeDelivery][$nameFiledSaved])){
     156                                            $valueSaved = $addFieldSaved[$typeDelivery][$nameFiledSaved];
     157                                        }
     158                                        ?>
    149159                                        <input class="form-value" name="<?php echo $nameArr?>[<?php echo $name ?>]" type="text"
    150                                                value="<?php echo $value?>">
     160                                               value="<?php echo $valueSaved?>">
    151161                                    <?php endif; ?>
    152162                                    <?php if ( $type === 'checkbox' ):
    153                                         $checked = '';
    154                                         if($value == true)
    155                                             $checked = 'checked';
     163                                        $valueSaved = '';
     164                                        if(isset($addFieldSaved[$typeDelivery][$nameFiledSaved]) && $addFieldSaved[$typeDelivery][$nameFiledSaved] == 'on'){
     165                                            $valueSaved = 'checked';
     166                                        }
    156167                                        ?>
    157                                         <input class="form-value" name="<?php echo $nameArr?>[<?php echo $name ?>]" type="checkbox" <?php echo $checked ?>>
     168                                        <input class="form-value" name="<?php echo $nameArr?>[<?php echo $name ?>]" type="checkbox" <?php echo $valueSaved ?>>
    158169                                    <?php endif; ?>
    159                                     <?php if ( $type === 'date' ): ?>
     170                                    <?php if ( $type === 'date' ):
     171                                        $valueSaved = '';
     172                                        if(isset($addFieldSaved[$typeDelivery][$nameFiledSaved])){
     173                                            $valueSaved = $addFieldSaved[$typeDelivery][$nameFiledSaved];
     174                                        }
     175                                        ?>
    160176                                        <input class="form-value" name="<?php echo $nameArr?>[<?php echo $name ?>]" type="date"
    161177                                               value="<?php echo $value?>">
     
    165181                                                class="form-value">
    166182                                            <?php foreach ( $value as $k => $v ):?>
    167                                                 <?php if(is_array($v) && isset($v['text'])):?>
    168                                                     <option value="<?php echo $k ?>" <?php echo ($v['selected'] == true)?'selected':'' ?>><?php echo $v['text'] ?></option>
    169                                                 <?php else: ?>
    170                                                     <option value="<?php echo $k ?>"><?php echo $v ?></option>
     183                                                <?php if(is_array($v) && isset($v['text'])):
     184                                                    $valueSaved = '';
     185                                                    if(isset($addFieldSaved[$typeDelivery][$nameFiledSaved]) && $k == $addFieldSaved[$typeDelivery][$nameFiledSaved]){
     186                                                        $valueSaved = 'selected';
     187                                                    }
     188                                                    ?>
     189                                                    <option value="<?php echo $k ?>" <?php echo $valueSaved ?>><?php echo $v['text'] ?></option>
     190                                                <?php else:
     191                                                    $valueSaved = '';
     192                                                    if(isset($addFieldSaved[$typeDelivery][$nameFiledSaved]) && $k == $addFieldSaved[$typeDelivery][$nameFiledSaved]){
     193                                                        $valueSaved = 'selected';
     194                                                    }
     195                                                    ?>
     196                                                    <option value="<?php echo $k ?>" <?php echo $valueSaved ?>><?php echo $v ?></option>
    171197                                                <?php endif; ?>
    172198                                            <?php endforeach; ?>
     
    210236                                <label class="label" for="receiver-street">Улица:</label>
    211237                                <input class="form-value" name="receiver-street" type="text"
    212                                        value="<?php echo $address['address_1'] ?>">
     238                                       value="<?php echo $street ?>">
    213239                            </div>
    214240                            <div class="form-field">
    215241                                <label class="label" for="receiver-house">Здание:</label>
    216                                 <input class="form-value" name="receiver-house" type="text">
     242                                <input class="form-value" name="receiver-house" type="text" value="<?php echo $building ?>">
    217243                            </div>
    218244                            <div class="form-field">
    219245                                <label class="label" for="receiver-room">Квартира / офис:</label>
    220                                 <input class="form-value" name="receiver-room" type="text">
     246                                <input class="form-value" name="receiver-room" type="text" value="<?php echo $room ?>">
    221247                            </div>
    222248                        </div>
     
    247273                                <select name="pick_up" form="unloading_form" class="form-value">
    248274                                    <?php if($typeMethod['name'] != 'halva'): ?>
    249                                     <option value="0">Сами привезём на терминал транспортной компании</option>
     275                                    <option value="0" <?php echo ( isset( $addFieldSaved[$typeMethod['name']]['pick_up'] ) && $addFieldSaved[$typeMethod['name']]['pick_up']  == 0 ) ? 'selected' : ''?>>Сами привезём на терминал транспортной компании</option>
    250276                                    <?php endif; ?>
    251                                     <option value="1">Груз заберёт транспортная компания</option>
     277                                    <option value="1" <?php echo ( isset( $addFieldSaved[$typeMethod['name']]['pick_up'] ) && $addFieldSaved[$typeMethod['name']]['pick_up']  == 1 ) ? 'selected' : ''?>>Груз заберёт транспортная компания</option>
    252278                                </select>
    253279                            </div>
  • eshoplogisticru/trunk/wc-eshop-logistic.php

    r3262062 r3276976  
    66 *
    77 * @link              https://wp.eshoplogistic.ru/
    8  * @since             2.1.52
     8 * @since             2.1.56
    99 * @package           WC_Eshop_Logistic
    1010 *
     
    1313 * Plugin URI:        https://wp.eshoplogistic.ru/
    1414 * Description:       Несколько служб доставки в одной интеграции: CDEK, DPD, Boxberry, IML, Почта России, Деловые Линии, ПЭК, Dostavista, GTD, Байкал Сервис и др.
    15  * Version:           2.1.52
     15 * Version:           2.1.56
    1616 * Author:            eShopLogistic
    1717 * Author URI:        https://eshoplogistic.ru/p747575
     
    4242define( 'WC_ESL_PLUGIN_DIR', plugin_dir_path(__FILE__) );
    4343
    44 define( 'WC_ESL_VERSION', '2.1.52' );
     44define( 'WC_ESL_VERSION', '2.1.56' );
    4545
    4646define( 'WC_ESL_DOMAIN', 'wc-esl' );
Note: See TracChangeset for help on using the changeset viewer.