22 $storedAllowedMethods = explode(
',', $web->getConfig(
'carriers/ups/allowed_methods'));
27 $storedAllowedMethods = explode(
',',
$block->getConfig(
'carriers/ups/allowed_methods',
$storeCode));
32 $storedAllowedMethods = explode(
',',
$block->getConfig(
'carriers/ups/allowed_methods'));
39 require([
"prototype"],
function(){
42 function hideRowArrayElements(arr)
44 for (var a = 0; a < arr.length; a++) {
45 $(arr[a]).up(1).hide();
49 function showRowArrayElements(arr)
51 for (var a = 0; a < arr.length; a++) {
52 $(arr[a]).up(1).show();
56 function inArray(arr,
value)
58 for (var i = 0; i < arr.length; i++) {
59 if (arr[i] ===
value) {
66 var upsXml = Class.create();
68 initialize:
function()
70 this.carriersUpsTypeId =
'carriers_ups_type';
71 if (!$(this.carriersUpsTypeId)) {
75 this.checkingUpsXmlId = [
'carriers_ups_gateway_xml_url',
'carriers_ups_username',
76 'carriers_ups_password',
'carriers_ups_access_license_number'];
77 this.checkingUpsId = [
'carriers_ups_gateway_url'];
78 this.originShipmentTitle =
'';
79 this.allowedMethodsId =
'carriers_ups_allowed_methods';
80 this.freeShipmentId =
'carriers_ups_free_method';
81 this.onlyUpsXmlElements = [
'carriers_ups_gateway_xml_url',
'carriers_ups_tracking_xml_url',
82 'carriers_ups_username',
'carriers_ups_password',
'carriers_ups_access_license_number',
83 'carriers_ups_origin_shipment',
'carriers_ups_negotiated_active',
'carriers_ups_shipper_number',
84 'carriers_ups_mode_xml',
'carriers_ups_include_taxes'];
85 this.onlyUpsElements = [
'carriers_ups_gateway_url'];
87 this.storedOriginShipment =
'<?= /* @noEscape */ $storedOriginShipment ?>';
88 this.storedFreeShipment =
'<?= /* @noEscape */ $storedFreeShipment ?>';
89 this.storedUpsType =
'<?= /* @noEscape */ $storedUpsType ?>';
90 <?php
$jsonHelper = $this->helper(
'Magento\Framework\Json\Helper\Data'); ?>
91 this.storedAllowedMethods = <?=
$jsonHelper->jsonEncode($storedAllowedMethods) ?>;
96 Event.observe($(this.carriersUpsTypeId),
'change', this.setFormValues.bind(
this));
98 updateAllowedMethods:
function(originShipmentTitle)
100 var allowedMethods = $(this.allowedMethodsId),
101 freeMethod = $(this.freeShipmentId),
102 originShipment = this.originShipmentObj[originShipmentTitle];
104 while (allowedMethods.length > 0) {
105 allowedMethods.remove(0);
108 while (freeMethod.length > 0) {
109 freeMethod.remove(0);
111 freeMethod.insert(
new Element(
'option', {
value:
''}).update(
'<?= $block->escapeHtml(__('None
')) ?>'));
114 for (code in originShipment) {
115 option =
new Element(
'option', {
value:code}).update(originShipment[code]);
116 if ((originShipmentTitle == this.storedOriginShipment || originShipmentTitle ==
'default')
117 && this.storedFreeShipment == code
119 option.selected =
true;
121 freeMethod.insert(option);
123 option =
new Element(
'option', {
value:code}).update(originShipment[code]);
124 if (this.storedUpsType ==
'UPS') {
125 if (originShipmentTitle !=
'default' || inArray(this.storedAllowedMethods, code)) {
126 option.selected =
true;
128 }
else if (originShipmentTitle != this.storedOriginShipment
129 || inArray(this.storedAllowedMethods, code)
131 option.selected =
true;
134 if ((originShipmentTitle ==
'default' || originShipmentTitle == this.storedOriginShipment)
135 && inArray(this.storedAllowedMethods, code)
137 option.selected =
true;
140 allowedMethods.insert(option);
143 setFormValues:
function()
146 if ($F(this.carriersUpsTypeId) ==
'UPS') {
147 for (a = 0; a < this.checkingUpsXmlId.length; a++) {
148 $(this.checkingUpsXmlId[a]).removeClassName(
'required-entry');
150 for (a = 0; a < this.checkingUpsId.length; a++) {
151 $(this.checkingUpsXmlId[a]).addClassName(
'required-entry');
153 Event.stopObserving($(
'carriers_ups_origin_shipment'),
'change', this.changeOriginShipment.bind(
this));
154 showRowArrayElements(this.onlyUpsElements);
155 hideRowArrayElements(this.onlyUpsXmlElements);
156 this.changeOriginShipment(
null,
'default');
158 for (a = 0; a < this.checkingUpsXmlId.length; a++) {
159 $(this.checkingUpsXmlId[a]).addClassName(
'required-entry');
161 for (a = 0; a < this.checkingUpsId.length; a++) {
162 $(this.checkingUpsXmlId[a]).removeClassName(
'required-entry');
164 Event.observe($(
'carriers_ups_origin_shipment'),
'change', this.changeOriginShipment.bind(
this));
165 showRowArrayElements(this.onlyUpsXmlElements);
166 hideRowArrayElements(this.onlyUpsElements);
167 this.changeOriginShipment(
null,
null);
170 changeOriginShipment:
function(Event, key)
172 this.originShipmentTitle = key ? key : $F(
'carriers_ups_origin_shipment');
173 this.updateAllowedMethods(this.originShipmentTitle);
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
elseif(isset( $params[ 'redirect_parent']))