Plugin Directory

Changeset 3249790


Ignore:
Timestamp:
03/03/2025 03:12:33 PM (13 months ago)
Author:
eshoplogistic
Message:

Исправлена ошибка в работе кастомной доставки

Location:
eshoplogisticru/trunk
Files:
7 edited

Legend:

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

    r3174318 r3249790  
    7171    function init_form_fields() {
    7272        $shippingHelper = new ShippingHelper();
    73         $options = $this->getOptionMethod($shippingHelper->getSlugMethod($this->id));
    74 
    75         $typeMethodTitle = ($shippingHelper->getTypeMethod($this->id) === 'terminal') ? 'Доставка до пункта выдачи' : 'Доставка курьером';
     73        $slug = $shippingHelper->getSlugMethod($this->id);
     74        $options = $this->getOptionMethod($slug);
     75        $typeMethod = $shippingHelper->getTypeMethod($this->id);
     76
     77        $typeMethodTitle = ($typeMethod === 'terminal') ? 'Доставка до пункта выдачи' : 'Доставка курьером';
    7678        $defaultTitle = isset( $options['name'] ) ? $options['name'] . ': ' . $typeMethodTitle : '';
    7779
    78         $this->instance_form_fields = array(
     80        $formFields = array(
    7981            'title' => array(
    8082                'title' => __('Название', WC_ESL_DOMAIN),
     
    8587        );
    8688
    87 
     89        if($slug == 'custom'){
     90            $option = $this->getOptionMethod($slug);
     91            $optionsRepository = new OptionsRepository();
     92            $services = $optionsRepository->getOption('wc_esl_shipping_account_services');
     93            $optionCustom = array();
     94            foreach($services as $key => $service){
     95                $exCustom = explode('-', $key);
     96                if($exCustom[0] == 'custom' && $service[$typeMethod]){
     97                    $optionCustom[$key] = $service['name'];
     98                }
     99            }
     100            $formFields['custom'] = array(
     101                'title' => __('Кастомная доставка', WC_ESL_DOMAIN),
     102                'type' => 'select',
     103                'options' => $optionCustom,
     104                'description' => __('Выберите тип кастомной доставки, которую вы создали в кабинете eShopLogistic', WC_ESL_DOMAIN),
     105            );
     106        }
     107
     108        $this->instance_form_fields = $formFields;
    88109    }
    89110
     
    182203
    183204            $data = new CheckoutOrderData($package['contents']);
     205
     206            if($service == 'custom'){
     207                $settingsService = $this->instance_settings;
     208                if(isset($settingsService['custom']) && $settingsService['custom']){
     209                    $service = $settingsService['custom'];
     210                    $this->id = WC_ESL_PREFIX . $settingsService['custom']. '_' . $this->type;
     211                }
     212            }
    184213
    185214            $cacheKey = str_replace(
  • eshoplogisticru/trunk/Classes/Shipping/Methods/CustomDoor.php

    r2872992 r3249790  
    2323        $option = $this->getOptionMethod($slug);
    2424
    25         $title = isset( $option['name'] ) ? $option['name'] . ': Доставка курьером' : '';
     25        $title = isset( $option['name'] ) ? $option['name'] . ': Доставка курьером' : 'Своя доставка: Доставка курьером';
    2626
    2727        $this->id                   = WC_ESL_PREFIX . $slug . '_' . $type;
    28         $this->method_title         = isset( $option['name'] ) ? $option['name'] . ': Доставка курьером' : '';
     28        $this->method_title         = isset( $option['name'] ) ? $option['name'] . ': Доставка курьером' : 'Своя доставка: Доставка курьером';
    2929        $this->method_description   = '';
    3030       
  • eshoplogisticru/trunk/Classes/Shipping/Methods/CustomTerminal.php

    r2872992 r3249790  
    2323        $option = $this->getOptionMethod($slug);
    2424
    25         $title = isset( $option['name'] ) ? $option['name'] . ': Доставка до пункта выдачи' : '';
     25        $title = isset( $option['name'] ) ? $option['name'] . ': Доставка до пункта выдачи' : 'Своя доставка: Доставка до пункта выдачи';
    2626
    2727        $this->id                   = WC_ESL_PREFIX . $slug . '_' . $type;
    28         $this->method_title         = isset( $option['name'] ) ? $option['name'] . ': Доставка до пункта выдачи' : '';
     28        $this->method_title         = isset( $option['name'] ) ? $option['name'] . ': Доставка до пункта выдачи' : 'Своя доставка: Доставка до пункта выдачи';
    2929        $this->method_description   = '';
    3030       
  • eshoplogisticru/trunk/Modules/Shipping.php

    r3174318 r3249790  
    3737        }elseif(!empty($services)){
    3838            foreach($services as $serviceKey => $service) {
     39                $exCustom = explode('-', $serviceKey);
     40                if($exCustom[0] == 'custom'){
     41                    $serviceKey = 'custom';
     42                }
    3943                if($service['door'] == '1') {
    4044                    $methods[ WC_ESL_PREFIX . strtolower($serviceKey) . '_door' ] = 'eshoplogistic\WCEshopLogistic\Classes\Shipping\Methods\\' . ucfirst(strtolower($serviceKey)) . 'Door';
  • eshoplogisticru/trunk/assets/js/checkout_frame_v2.js

    r3239495 r3249790  
    918918            let hash = objectHash.sha1(data);
    919919            hashSelectService = hash
    920             console.log(hashSelectService)
    921920
    922921            if (typeof data.terminal == 'object') {
  • eshoplogisticru/trunk/readme.txt

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

    r3239495 r3249790  
    66 *
    77 * @link              https://wp.eshoplogistic.ru/
    8  * @since             2.1.49
     8 * @since             2.1.50
    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.49
     15 * Version:           2.1.50
    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.49' );
     44define( 'WC_ESL_VERSION', '2.1.50' );
    4545
    4646define( 'WC_ESL_DOMAIN', 'wc-esl' );
Note: See TracChangeset for help on using the changeset viewer.