Changeset 3393233
- Timestamp:
- 11/10/2025 09:05:04 PM (5 months ago)
- Location:
- wc-nova-poshta-for-shop
- Files:
-
- 7 edited
-
Classes/CheckoutField.php (modified) (1 diff)
-
Classes/Shortcode.php (modified) (1 diff)
-
assets_file/css/style.css (modified) (5 diffs)
-
assets_file/js/custom.js (modified) (3 diffs)
-
includes/enqueue-front.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
views/settings.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wc-nova-poshta-for-shop/Classes/CheckoutField.php
r2953197 r3393233 7 7 } 8 8 9 10 function npfw_add_to_wooc_fields( $fields ) { 11 $options = get_option( 'my_option_name' ); 9 public function npfw_add_to_wooc_fields( $fields ) { 10 $options = get_option( 'npfw_my_option_name' ); 12 11 $enable_loader = !(empty($options['enable_loader'])) ? 'is-loader' : ''; 13 12 $class_warehouses_wrapper = !empty($options['class_warehouses_wrapper']) ? $options['class_warehouses_wrapper'] : ''; 14 13 $class_warehouses_select = !empty($options['class_warehouses_select']) ? $options['class_warehouses_select'] : ''; 15 14 16 if($options['output_fields'] == 'output_fields1'){ 17 $fields['billing']['billing_warehouses'] = array( 18 'type' => 'select', 19 'options' => array( 20 '' => __('Please select warehouses','npfw') 21 ), 22 'label' => __('Warehouses', 'npfw'), 23 'required' => true, 24 'class' => array($class_warehouses_wrapper), 25 'input_class' => array('billing_warehouses_sumoselect'.' '.$enable_loader.' '. $class_warehouses_select), 26 'clear' => true, 27 'priority' => 75 28 ); 29 } 30 else if($options['output_fields'] == 'output_fields2'){ 31 $fields['billing']['billing_np_city'] = array( 32 'label' => __('City', 'npfw'), 33 'placeholder' => __('Please select city', 'npfw'), 34 'required' => true, 35 'class' => array('form-row-wide'), 36 'clear' => true, 37 'priority' => 190 38 ); 15 $chosen_methods = WC()->session->get( 'chosen_shipping_methods' ); 16 $chosen_method = !empty($chosen_methods[0]) ? $chosen_methods[0] : ''; 39 17 40 $fields['billing']['billing_warehouses'] = array( 41 'type' => 'select', 42 'placeholder' => __('Please select warehouses', 'npfw'), 43 'options' => array( 44 '' => __('Please select warehouses', 'npfw'), 45 ), 46 'label' => __('Warehouses', 'npfw'), 47 'required' => true, 48 'class' => array($class_warehouses_wrapper), 49 'input_class' => array('billing_warehouses_sumoselect'.' '.$enable_loader.' '. $class_warehouses_select), 50 'clear' => true, 51 'priority' => 200 52 ); 53 } 18 $is_novaposhta = strpos($chosen_method, 'novaposhta') !== false; 19 20 if(!empty(get_option( 'npfw_my_option_name' ))){ 21 if($options['output_fields'] == 'output_fields1'){ 22 $wrapper_class = array('npfw-conditional-field'); 23 if(!empty($class_warehouses_wrapper)) { 24 $wrapper_class[] = $class_warehouses_wrapper; 25 } 26 27 if(!$is_novaposhta) { 28 $wrapper_class[] = 'npfw-hidden'; 29 } 30 31 $fields['billing']['billing_warehouses'] = array( 32 'type' => 'select', 33 'options' => array( 34 '' => __('Please select warehouses','npfw') 35 ), 36 'label' => __('Warehouses', 'npfw'), 37 'required' => $is_novaposhta, 38 'class' => $wrapper_class, 39 'input_class' => array('billing_warehouses_sumoselect'.' '.$enable_loader.' '. $class_warehouses_select), 40 'clear' => true, 41 'priority' => 75 42 ); 43 } 44 45 // else if($options['output_fields'] == 'output_fields2'){ 46 // $fields['billing']['billing_np_city'] = array( 47 // 'label' => __('City', 'npfw'), 48 // 'placeholder' => __('Please select city', 'npfw'), 49 // 'required' => true, 50 // 'class' => array('form-row-wide'), 51 // 'clear' => true, 52 // 'priority' => 190 53 // ); 54 55 // $fields['billing']['billing_warehouses'] = array( 56 // 'type' => 'select', 57 // 'placeholder' => __('Please select warehouses', 'npfw'), 58 // 'options' => array( 59 // '' => __('Please select warehouses', 'npfw'), 60 // ), 61 // 'label' => __('Warehouses', 'npfw'), 62 // 'required' => true, 63 // 'class' => array($class_warehouses_wrapper), 64 // 'input_class' => array('billing_warehouses_sumoselect'.' '.$enable_loader.' '. $class_warehouses_select), 65 // 'clear' => true, 66 // 'priority' => 200 67 // ); 68 // } 69 } 54 70 55 71 56 unset($fields['billing']['billing_postcode']);72 // unset($fields['billing']['billing_postcode']); 57 73 58 74 return $fields; -
wc-nova-poshta-for-shop/Classes/Shortcode.php
r2953197 r3393233 4 4 class NPFW_Shortcode { 5 5 6 7 function npfw_shortcode_output($html_field) { 8 $options = get_option( 'my_option_name' ); 6 public function npfw_shortcode_output($html_field) { 7 $options = get_option( 'npfw_my_option_name' ); 9 8 $class_warehouses_select = !empty($options['class_warehouses_select']) ? $options['class_warehouses_select'] : ''; 10 9 $html = ''; -
wc-nova-poshta-for-shop/assets_file/css/style.css
r2953197 r3393233 1 1 #billing_warehouses_field .SumoSelect{ 2 2 width: 100%; 3 display: block; 3 4 } 4 5 #billing_warehouses_field.is-loader,#billing_city_field.is-loader{ … … 9 10 z-index: 9; 10 11 content: ''; 11 right: 30px; 12 top: 30px; 12 right: 20px; 13 13 width: 30px; 14 14 height: 30px; 15 bottom: 12px; 15 16 background: url('../image/ajax_loader_s.gif') no-repeat; 16 17 } … … 18 19 position: relative; 19 20 } 20 #billing_city.is-loader,#billing_np_city.is-loader{21 21 22 }23 22 .wrapper_city_np { 24 23 position: absolute; 25 top: 70px;26 24 left: 0px; 27 25 width: 100%; 28 26 z-index: 99; 27 /* top: 75px; */ 28 overflow: hidden; 29 29 } 30 30 … … 39 39 padding-left: 10px; 40 40 line-height: 36px; 41 border-bottom: 1px solid white; 41 42 /* z-index: 9999; */ 42 43 } … … 45 46 cursor: pointer; 46 47 } 48 .sumo_billing_warehouses ul li{ 49 color: #666 !important; 50 padding: 0px 8px; 51 } 52 .SumoSelect>.CaptionCont>span{ 53 padding: .9rem 1.1rem; 54 font-size: var(--wp--preset--font-size--small); 55 } 56 .SumoSelect>.CaptionCont{ 57 height: 50px; 58 padding: 0px; 59 } 60 .SumoSelect>.CaptionCont>label>i{ 61 display: none; 62 } 63 .SumoSelect>.optWrapper>.options li.opt { 64 font-size: var(--wp--preset--font-size--small); 65 } 66 .SumoSelect>.optWrapper>.options li.opt label{ 67 margin-bottom: 0px; 68 } 69 .SumoSelect.open>.optWrapper{ 70 top: auto; 71 } -
wc-nova-poshta-for-shop/assets_file/js/custom.js
r2953197 r3393233 1 1 jQuery(document).ready(function(){ 2 3 function toggleWarehousesField() { 4 var selectedMethod = jQuery('input[name="shipping_method[0]"]:checked').val(); 5 var $warehousesField = jQuery('#billing_warehouses_field'); 6 7 console.log(selectedMethod); 8 if (selectedMethod && selectedMethod.indexOf('novaposhta') !== -1) { 9 $warehousesField.show(); 10 jQuery('#billing_warehouses').prop('required', true); 11 } else { 12 $warehousesField.hide(); 13 jQuery('#billing_warehouses').prop('required', false); 14 } 15 } 16 17 toggleWarehousesField(); 18 19 // Виконати при зміні методу доставки 20 jQuery(document.body).on('change', 'input[name="shipping_method[0]"]', function() { 21 toggleWarehousesField(); 22 }); 23 24 // Виконати після оновлення checkout через AJAX 25 jQuery(document.body).on('updated_checkout', function() { 26 toggleWarehousesField(); 27 }); 28 2 29 // ajax get city 3 4 30 function npfw_keyup_delay(callback, ms) { 5 31 var timer = 0; … … 11 37 if(billing_city.length > 2){ 12 38 if(jQuery('#billing_warehouses').hasClass('is-loader')){ 13 console.log('zaq');39 // console.log('zaq'); 14 40 jQuery('#billing_city_field').addClass('is-loader'); 15 41 } 16 console.log('zaq!QQQ');17 42 18 43 jQuery.ajax({ … … 130 155 131 156 // jQuery(document).on('change','#ship-to-different-address',function() { 157 // var city_ref = jQuery('#billing_city,#billing_np_city').attr('data-cityref'); 158 // console.log('test'); 132 159 // jQuery.ajax({ 133 160 // url:myajax.url, 134 161 // data: { 135 // 'action' : 'get_document_price' 162 // 'action' : 'get_document_price', 163 // 'city_ref': city_ref 136 164 // }, 137 165 // type:'POST', -
wc-nova-poshta-for-shop/includes/enqueue-front.php
r2953197 r3393233 28 28 } 29 29 30 31 32 33 34 35 36 37 30 ?> -
wc-nova-poshta-for-shop/readme.txt
r2953197 r3393233 7 7 Tested up to: 6.3 8 8 Requires PHP: 5.6 9 Stable tag: 1. 1.19 Stable tag: 1.2.0 10 10 License: GPLv2 or later 11 11 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 63 63 Change descriptions 64 64 65 66 = 1.1.2 = 67 Fix bugs 68 69 = 1.1.3 = 70 Fix bugs 71 Update version 72 73 = 1.1.4 = 74 Tested php to 8.1 75 76 = 1.2.0 = 77 Tested PHP to 8.2 78 Tested Wordpress to 6.8.3 79 Tested Woocommerce to 10.3.4 80 Branch field is not required unless Nova Poshta is selected 81 Added settings link on plugins page 82 Updating styles -
wc-nova-poshta-for-shop/views/settings.php
r2953197 r3393233 10 10 do_settings_sections( 'npw_submenu-page' ); 11 11 12 $options = get_option( ' my_option_name' );12 $options = get_option( 'npfw_my_option_name' ); 13 13 $class_warehouses_select = !(empty($options['class_warehouses_select'])) ? $options['class_warehouses_select'] : ''; 14 14 $class_warehouses_wrapper = !(empty($options['class_warehouses_wrapper'])) ? $options['class_warehouses_wrapper'] : ''; … … 16 16 $city_send = !(empty($options['city_send'])) ? $options['city_send'] : ''; 17 17 $region_send = !(empty($options['region_send'])) ? $options['region_send'] : ''; 18 ?> 18 $city_sender = !(empty($options['city_sender'])) ? $options['city_sender'] : ''; 19 $api_key = !(empty($options['api_key'])) ? $options['api_key'] : ''; 20 $languague = !(empty($options['languague'])) ? $options['languague'] : ''; 21 $output_fields = !(empty($options['output_fields'])) ? $options['output_fields'] : ''; 22 23 24 ?> 19 25 <div class="item_form_np"> 20 26 <label style="width: 220px; display: inline-block;"><?php _e('Api key','npfw'); ?></label> 21 <input style="width: 260px;" type='text' name=' my_option_name[api_key]' value='<?php echo $options['api_key']; ?>'>27 <input style="width: 260px;" type='text' name='npfw_my_option_name[api_key]' value='<?php echo $api_key; ?>'> 22 28 </div> 23 29 24 30 <div class="item_form_np"> 25 31 <label style="width: 220px; display: inline-block;"><?php _e('Select languague','npfw'); ?></label> 26 <input type="radio" name=" my_option_name[languague]" value="Ua" <?php checked('Ua', $options['languague']); ?>>Ukraine27 <input type="radio" name=" my_option_name[languague]" value="Ru" <?php checked('Ru', $options['languague']); ?>>Russian32 <input type="radio" name="npfw_my_option_name[languague]" value="Ua" <?php checked('Ua', $languague); ?>>Ukraine 33 <input type="radio" name="npfw_my_option_name[languague]" value="Ru" <?php checked('Ru', $languague); ?>>Russian 28 34 </div> 29 35 <div class="item_form_np"> 30 36 <label style="width: 220px; display: inline-block;"><?php _e('Output fields','npfw'); ?></label> 31 <input type="radio" name=" my_option_name[output_fields]" value="output_fields1" <?php checked('output_fields1', $options['output_fields']); ?>>Standart (Woocommerce)32 < input type="radio" name="my_option_name[output_fields]" value="output_fields2" <?php checked('output_fields2', $options['output_fields']); ?>>Custom fields33 <input type="radio" name=" my_option_name[output_fields]" value="output_fields3" <?php checked('output_fields3', $options['output_fields']); ?>>Shortcode37 <input type="radio" name="npfw_my_option_name[output_fields]" value="output_fields1" <?php checked('output_fields1', $output_fields); ?>>Standart (Woocommerce) 38 <!-- <input type="radio" name="npfw_my_option_name[output_fields]" value="output_fields2" <?php checked('output_fields2', $output_fields); ?>>Custom fields --> 39 <input type="radio" name="npfw_my_option_name[output_fields]" value="output_fields3" <?php checked('output_fields3', $output_fields); ?>>Shortcode 34 40 </div> 35 41 36 42 <div class="item_form_np"> 37 43 <label style="width: 220px; display: inline-block;"><?php _e('Enable loader','npfw'); ?></label> 38 <input type="checkbox" name=" my_option_name[enable_loader]" value="1" <?php echo !empty($options['enable_loader']) ? 'checked' : ''; ?>>44 <input type="checkbox" name="npfw_my_option_name[enable_loader]" value="1" <?php echo !empty($options['enable_loader']) ? 'checked' : ''; ?>> 39 45 </div> 40 46 47 <?/*<div class="item_form_np"> 48 <label style="width: 220px; display: inline-block;"><?php _e('City Sender ','npfw'); ?></label> 49 <input type="text" name="my_option_name[city_sender]" value='<?php echo $class_warehouses_select; ?>'> 50 </div>*/?> 41 51 42 52 <div class="item_form_np"> 43 53 <label style="width: 220px; display: inline-block;"><?php _e('Add html class to select warhouse','npfw'); ?></label> 44 <input style="width: 260px;" type='text' name=' my_option_name[class_warehouses_select]' value='<?php echo $class_warehouses_select; ?>'>54 <input style="width: 260px;" type='text' name='npfw_my_option_name[class_warehouses_select]' value='<?php echo $city_sender; ?>'> 45 55 </div> 46 56 <?/* <div class="item_form_np">
Note: See TracChangeset
for help on using the changeset viewer.