Version Notes
Extension calculates shipping price dynamically.
Download this release
Release Info
Developer | notime |
Extension | notime_same_day_delivery |
Version | 1.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.0.0 to 1.1.0
- app/code/local/Notime/Shipping/Block/Checkout/Onepage/Shipping/Notime.php +5 -0
- app/code/local/Notime/Shipping/Model/Carrier/Notime.php +5 -0
- app/code/local/Notime/Shipping/Model/Observer.php +46 -23
- app/code/local/Notime/Shipping/etc/config.xml +13 -4
- app/code/local/Notime/Shipping/etc/system.xml +1 -0
- app/design/frontend/base/default/template/notime/checkout/onepage/shipping_method/notime.phtml +40 -14
- package.xml +5 -5
app/code/local/Notime/Shipping/Block/Checkout/Onepage/Shipping/Notime.php
CHANGED
@@ -75,5 +75,10 @@ class Notime_Shipping_Block_Checkout_Onepage_Shipping_Notime extends Mage_Checko
|
|
75 |
}
|
76 |
return '';
|
77 |
}
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
}
|
75 |
}
|
76 |
return '';
|
77 |
}
|
78 |
+
|
79 |
+
public function getAdditionalText(){
|
80 |
+
return Mage::getStoreConfig('carriers/notime/additional_info', Mage::app()->getStore()->getId());
|
81 |
+
}
|
82 |
+
|
83 |
|
84 |
}
|
app/code/local/Notime/Shipping/Model/Carrier/Notime.php
CHANGED
@@ -53,6 +53,11 @@ class Notime_Shipping_Model_Carrier_Notime
|
|
53 |
} else {
|
54 |
$shippingPrice = false;
|
55 |
}
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
if ($shippingPrice !== false) {
|
58 |
$method = Mage::getModel('shipping/rate_result_method');
|
53 |
} else {
|
54 |
$shippingPrice = false;
|
55 |
}
|
56 |
+
|
57 |
+
$shipmentFee = Mage::getSingleton('core/session')->getNotimeShipmentFee();
|
58 |
+
if($shipmentFee) {
|
59 |
+
$shippingPrice = $shipmentFee;
|
60 |
+
}
|
61 |
|
62 |
if ($shippingPrice !== false) {
|
63 |
$method = Mage::getModel('shipping/rate_result_method');
|
app/code/local/Notime/Shipping/Model/Observer.php
CHANGED
@@ -51,6 +51,7 @@ class Notime_Shipping_Model_Observer
|
|
51 |
->setConfig(array('timeout' => 30, 'keepalive' => 1))
|
52 |
->setHeaders(array(
|
53 |
'Ocp-Apim-Subscription-Key' => '493dc25bf9674ccb9c5920a035c1f777',
|
|
|
54 |
))
|
55 |
->setRawData(json_encode($params), 'application/json')
|
56 |
->setMethod(Zend_Http_Client::POST);
|
@@ -92,7 +93,8 @@ class Notime_Shipping_Model_Observer
|
|
92 |
|
93 |
$request = Mage::app()->getRequest();
|
94 |
$shipmentId = trim($request->getPost('notime_shipment_id'));
|
95 |
-
|
|
|
96 |
if($shipmentId == '') { exit; }
|
97 |
|
98 |
try {
|
@@ -101,16 +103,15 @@ class Notime_Shipping_Model_Observer
|
|
101 |
$readConnection = $resource->getConnection('core_read');
|
102 |
$writeConnection = $resource->getConnection('core_write');
|
103 |
|
104 |
-
$
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
}
|
114 |
} catch (Exception $e) {
|
115 |
mage::log('Error when processing shipping method:'.$e->getMessage(), false, 'notime_shipping.log');
|
116 |
}
|
@@ -134,7 +135,6 @@ class Notime_Shipping_Model_Observer
|
|
134 |
if($pos2 = strpos($html, $endingToken, $pos1)){
|
135 |
|
136 |
$carrier = Mage::getModel('shipping/config')->getCarrierInstance($code);
|
137 |
-
Mage::log($carrier->getFormBlock(), false, 'notime_shipping.log');
|
138 |
$injectBlock = $block->getLayout()->createBlock($carrier->getFormBlock());
|
139 |
|
140 |
//Store adress id so we can use it in the ajax call done in the block
|
@@ -157,17 +157,40 @@ class Notime_Shipping_Model_Observer
|
|
157 |
//$this->AddSalesRuleJavascript($observer);
|
158 |
}
|
159 |
|
160 |
-
public function
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
|
173 |
}
|
51 |
->setConfig(array('timeout' => 30, 'keepalive' => 1))
|
52 |
->setHeaders(array(
|
53 |
'Ocp-Apim-Subscription-Key' => '493dc25bf9674ccb9c5920a035c1f777',
|
54 |
+
'authorization' => 'Basic YXp1cmUtc2hpcG1lbnRhcGk6UTEhZTQzYjczWA==',
|
55 |
))
|
56 |
->setRawData(json_encode($params), 'application/json')
|
57 |
->setMethod(Zend_Http_Client::POST);
|
93 |
|
94 |
$request = Mage::app()->getRequest();
|
95 |
$shipmentId = trim($request->getPost('notime_shipment_id'));
|
96 |
+
$confirmedTimeWindowDescription = trim($request->getPost('notime_confirmed_time_window_description'));
|
97 |
+
|
98 |
if($shipmentId == '') { exit; }
|
99 |
|
100 |
try {
|
103 |
$readConnection = $resource->getConnection('core_read');
|
104 |
$writeConnection = $resource->getConnection('core_write');
|
105 |
|
106 |
+
$writeConnection->delete(
|
107 |
+
"notime_shipping",
|
108 |
+
"quote_id=".$_quote->getId()
|
109 |
+
);
|
110 |
+
$writeConnection->insert(
|
111 |
+
"notime_shipping",
|
112 |
+
array("quote_id" => $_quote->getId(),"shipment_id" => $shipmentId, "status" => 0)
|
113 |
+
);
|
114 |
+
$_quote->setExtShippingInfo($confirmedTimeWindowDescription);
|
|
|
115 |
} catch (Exception $e) {
|
116 |
mage::log('Error when processing shipping method:'.$e->getMessage(), false, 'notime_shipping.log');
|
117 |
}
|
135 |
if($pos2 = strpos($html, $endingToken, $pos1)){
|
136 |
|
137 |
$carrier = Mage::getModel('shipping/config')->getCarrierInstance($code);
|
|
|
138 |
$injectBlock = $block->getLayout()->createBlock($carrier->getFormBlock());
|
139 |
|
140 |
//Store adress id so we can use it in the ajax call done in the block
|
157 |
//$this->AddSalesRuleJavascript($observer);
|
158 |
}
|
159 |
|
160 |
+
public function notime_shipping_salesQuoteCollectTotalsAfter(Varien_Event_Observer $observer){
|
161 |
+
$shipmentFee = Mage::app()->getRequest()->getPost('notime_shipment_fee', -1);
|
162 |
+
if($shipmentFee == -1) {
|
163 |
+
return $this;
|
164 |
+
}
|
165 |
+
|
166 |
+
$quoteAddress = $observer->getQuoteAddress();
|
167 |
+
$quote = $observer->getQuoteAddress()->getQuote();
|
168 |
+
|
169 |
+
$store = Mage::app()->getStore($quote->getStoreId());
|
170 |
+
|
171 |
+
$carriers = Mage::getStoreConfig('carriers', $store);
|
172 |
+
foreach ($carriers as $carrierCode => $carrierConfig) {
|
173 |
+
if($carrierCode == 'notime') {
|
174 |
+
|
175 |
+
Mage::getSingleton('core/session')->setNotimeShipmentFee($shipmentFee);
|
176 |
+
|
177 |
+
$quoteAddress->setShippingAmount($shipmentFee)
|
178 |
+
->setBaseShippingAmount($shipmentFee)->save();
|
179 |
+
}
|
180 |
+
}
|
181 |
+
|
182 |
+
return $this;
|
183 |
}
|
184 |
+
|
185 |
+
public function notime_shipping_salesOrderPlaceAfter(Varien_Event_Observer $observer) {
|
186 |
+
|
187 |
+
Mage::getSingleton('core/session')->unsNotimeShipmentFee();
|
188 |
+
|
189 |
+
$_order = $observer->getOrder();
|
190 |
+
$_quote = Mage::getModel('sales/quote')->load($_order->getQuoteId());
|
191 |
+
if($_quote->getId()) {
|
192 |
+
$_order->setShippingDescription($_order->getShippingDescription().' ('.$_quote->getExtShippingInfo().')')->save();
|
193 |
+
}
|
194 |
+
}
|
195 |
|
196 |
}
|
app/code/local/Notime/Shipping/etc/config.xml
CHANGED
@@ -89,15 +89,24 @@
|
|
89 |
</notime_core_block_html_before>
|
90 |
</observers>
|
91 |
</core_block_abstract_to_html_after>
|
92 |
-
<
|
93 |
<observers>
|
94 |
<notime_order_change_price>
|
95 |
<type>singleton</type>
|
96 |
<class>Notime_Shipping_Model_Observer</class>
|
97 |
-
<method>
|
98 |
</notime_order_change_price>
|
99 |
</observers>
|
100 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
</events>
|
102 |
</global>
|
103 |
<adminhtml>
|
@@ -119,7 +128,7 @@
|
|
119 |
<name>Same-day (by notime)</name>
|
120 |
<price>4.90</price>
|
121 |
<title>Same-day (by notime)</title>
|
122 |
-
<type>
|
123 |
<shipping_widget></shipping_widget>
|
124 |
<product_widget></product_widget>
|
125 |
<show_product_widget></show_product_widget>
|
89 |
</notime_core_block_html_before>
|
90 |
</observers>
|
91 |
</core_block_abstract_to_html_after>
|
92 |
+
<sales_quote_address_collect_totals_after>
|
93 |
<observers>
|
94 |
<notime_order_change_price>
|
95 |
<type>singleton</type>
|
96 |
<class>Notime_Shipping_Model_Observer</class>
|
97 |
+
<method>notime_shipping_salesQuoteCollectTotalsAfter</method>
|
98 |
</notime_order_change_price>
|
99 |
</observers>
|
100 |
+
</sales_quote_address_collect_totals_after>
|
101 |
+
<sales_order_place_after>
|
102 |
+
<observers>
|
103 |
+
<notime_order_place_after>
|
104 |
+
<type>singleton</type>
|
105 |
+
<class>Notime_Shipping_Model_Observer</class>
|
106 |
+
<method>notime_shipping_salesOrderPlaceAfter</method>
|
107 |
+
</notime_order_place_after>
|
108 |
+
</observers>
|
109 |
+
</sales_order_place_after>
|
110 |
</events>
|
111 |
</global>
|
112 |
<adminhtml>
|
128 |
<name>Same-day (by notime)</name>
|
129 |
<price>4.90</price>
|
130 |
<title>Same-day (by notime)</title>
|
131 |
+
<type>O</type>
|
132 |
<shipping_widget></shipping_widget>
|
133 |
<product_widget></product_widget>
|
134 |
<show_product_widget></show_product_widget>
|
app/code/local/Notime/Shipping/etc/system.xml
CHANGED
@@ -38,6 +38,7 @@
|
|
38 |
</title>
|
39 |
<price translate="label">
|
40 |
<label>Price</label>
|
|
|
41 |
<frontend_type>text</frontend_type>
|
42 |
<sort_order>4</sort_order>
|
43 |
<show_in_default>1</show_in_default>
|
38 |
</title>
|
39 |
<price translate="label">
|
40 |
<label>Price</label>
|
41 |
+
<comment><![CDATA[Don't use this field. Price will be calculated dynamically.]]></comment>
|
42 |
<frontend_type>text</frontend_type>
|
43 |
<sort_order>4</sort_order>
|
44 |
<show_in_default>1</show_in_default>
|
app/design/frontend/base/default/template/notime/checkout/onepage/shipping_method/notime.phtml
CHANGED
@@ -3,26 +3,51 @@
|
|
3 |
$formCode = $this->getFormCode();
|
4 |
$rate_id = 'notime_notime';
|
5 |
$zipInputId = 'gls_zip_input_'.$formCode;
|
|
|
|
|
|
|
|
|
6 |
?>
|
7 |
|
8 |
<ul class="form-list" id="<?php echo $formCode ?>">
|
|
|
|
|
|
|
9 |
<input type="hidden" id="<?php echo $this->getWidgetZipCode();?>" name="magento_notime_zip_code" value="<?php echo $this->getQuote()->getShippingAddress()->getPostcode();?>">
|
10 |
<input type="hidden" id="notime_shipment_id" name="notime_shipment_id" class="input-text required-notime-shipment" value="-">
|
11 |
<input type="hidden" id="notime_shipment_fee" name="notime_shipment_fee" class="input-text" value="">
|
|
|
12 |
<li>
|
13 |
<?php echo $this->getWidgetButton(); ?>
|
14 |
<span id="notime_shipment_success"></span>
|
15 |
</li>
|
16 |
<script type="text/javascript">
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
var generatedId = event.detail.generatedShippmentGuid;
|
19 |
var shipmentFee = event.detail.fee;
|
|
|
20 |
if(generatedId) {
|
21 |
$('notime_shipment_id').setValue(generatedId);
|
22 |
-
$('notime_shipment_fee').setValue(shipmentFee);
|
23 |
-
|
24 |
-
|
25 |
-
//$$("label[for='s_method_notime_notime'] > span[class='price']")[0].update(newPriceWithCurrency);
|
26 |
var $validationError = $('advice-required-notime-shipment-notime_shipment_id');
|
27 |
if($validationError){
|
28 |
$validationError.hide();
|
@@ -30,7 +55,14 @@
|
|
30 |
$('notime_shipment_success').update('<?php echo $this->__('You have successfully selected time window'); ?>');
|
31 |
}
|
32 |
}
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
function load_js() {
|
36 |
var head= document.getElementsByTagName('head')[0];
|
@@ -38,14 +70,8 @@
|
|
38 |
script.type= 'text/javascript';
|
39 |
script.src= '<?php echo $this->getWidgetCodeSrc(); ?>';
|
40 |
head.appendChild(script);
|
41 |
-
// http://nt-staging-servicemanagement.azurewebsites.net/NotimeWidget?groupId=28228cfe-12f2-4bfb-b8bf-b7ff87746e96&mode=2&ecommerceZipCodeId=magentoNotimeZipCode¬imeButtonNumber=1&language=en';
|
42 |
-
|
43 |
}
|
44 |
load_js();
|
45 |
-
</script>
|
46 |
-
|
47 |
-
<script type="text/javascript">
|
48 |
-
// <![CDATA[
|
49 |
|
50 |
document.observe('dom:loaded', function(){
|
51 |
createNotimeShippingForm<?php echo $formCode ?>();
|
@@ -58,7 +84,7 @@
|
|
58 |
}
|
59 |
|
60 |
Translator.add('Click here and choose your delivery time-slot','<?php echo Mage::helper('notimeshipping')->__('Click here and choose your delivery time-slot')?>');
|
61 |
-
|
62 |
-
|
63 |
</script>
|
64 |
</ul>
|
3 |
$formCode = $this->getFormCode();
|
4 |
$rate_id = 'notime_notime';
|
5 |
$zipInputId = 'gls_zip_input_'.$formCode;
|
6 |
+
$priceTemplate = Mage::helper('core')->currency(0, true, false); //template of price with currency
|
7 |
+
$matches = array();
|
8 |
+
preg_match('/[\.,\,]/', $priceTemplate, $matches);
|
9 |
+
$priceSeparator = $matches[0];
|
10 |
?>
|
11 |
|
12 |
<ul class="form-list" id="<?php echo $formCode ?>">
|
13 |
+
<li>
|
14 |
+
<span id="notime_shipment_additional_text"><?php echo $this->getAdditionalText(); ?></span>
|
15 |
+
</li>
|
16 |
<input type="hidden" id="<?php echo $this->getWidgetZipCode();?>" name="magento_notime_zip_code" value="<?php echo $this->getQuote()->getShippingAddress()->getPostcode();?>">
|
17 |
<input type="hidden" id="notime_shipment_id" name="notime_shipment_id" class="input-text required-notime-shipment" value="-">
|
18 |
<input type="hidden" id="notime_shipment_fee" name="notime_shipment_fee" class="input-text" value="">
|
19 |
+
<input type="hidden" id="notime_confirmed_time_window_description" name="notime_confirmed_time_window_description" class="input-text" value="">
|
20 |
<li>
|
21 |
<?php echo $this->getWidgetButton(); ?>
|
22 |
<span id="notime_shipment_success"></span>
|
23 |
</li>
|
24 |
<script type="text/javascript">
|
25 |
+
// <![CDATA[
|
26 |
+
function getShippingPriceLabel(){
|
27 |
+
return $$("label[for='s_method_notime_notime'] span[class='price']")[0];
|
28 |
+
}
|
29 |
+
|
30 |
+
function updateShippingPriceLabel(fee){
|
31 |
+
var priceLabel = getShippingPriceLabel();
|
32 |
+
if (fee !== ''){
|
33 |
+
var feeStr = fee.toString().replace(/[\.,\,]/g, '<?php echo $priceSeparator; ?>');
|
34 |
+
var priceStr = '<?php echo $priceTemplate; ?>'.replace(/\d+([\.,\,]\d{1,2})?/gi, feeStr);
|
35 |
+
priceLabel.update(priceStr);
|
36 |
+
}
|
37 |
+
else{
|
38 |
+
priceLabel.update("");
|
39 |
+
}
|
40 |
+
}
|
41 |
+
|
42 |
+
var shipmentGeneratedHandler = function(event) {
|
43 |
var generatedId = event.detail.generatedShippmentGuid;
|
44 |
var shipmentFee = event.detail.fee;
|
45 |
+
var confirmedTimeWindowDescription = event.detail.selectedTimeWindowDescription;
|
46 |
if(generatedId) {
|
47 |
$('notime_shipment_id').setValue(generatedId);
|
48 |
+
$('notime_shipment_fee').setValue(shipmentFee);
|
49 |
+
$('notime_confirmed_time_window_description').setValue(confirmedTimeWindowDescription);
|
50 |
+
updateShippingPriceLabel(shipmentFee);
|
|
|
51 |
var $validationError = $('advice-required-notime-shipment-notime_shipment_id');
|
52 |
if($validationError){
|
53 |
$validationError.hide();
|
55 |
$('notime_shipment_success').update('<?php echo $this->__('You have successfully selected time window'); ?>');
|
56 |
}
|
57 |
}
|
58 |
+
|
59 |
+
var timeWindowConfirmedHandler = function(event){
|
60 |
+
$('notime_shipment_id').setValue('-'); //Default value unless shipmentId have generated yet.
|
61 |
+
$('notime_shipment_success').update('');
|
62 |
+
}
|
63 |
+
|
64 |
+
document.body.addEventListener("notime_widget:shipmentGenerated",shipmentGeneratedHandler);
|
65 |
+
document.body.addEventListener("notime_widget:timeWindowConfirmed",timeWindowConfirmedHandler);
|
66 |
|
67 |
function load_js() {
|
68 |
var head= document.getElementsByTagName('head')[0];
|
70 |
script.type= 'text/javascript';
|
71 |
script.src= '<?php echo $this->getWidgetCodeSrc(); ?>';
|
72 |
head.appendChild(script);
|
|
|
|
|
73 |
}
|
74 |
load_js();
|
|
|
|
|
|
|
|
|
75 |
|
76 |
document.observe('dom:loaded', function(){
|
77 |
createNotimeShippingForm<?php echo $formCode ?>();
|
84 |
}
|
85 |
|
86 |
Translator.add('Click here and choose your delivery time-slot','<?php echo Mage::helper('notimeshipping')->__('Click here and choose your delivery time-slot')?>');
|
87 |
+
updateShippingPriceLabel('');
|
88 |
+
// ]]>
|
89 |
</script>
|
90 |
</ul>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>notime_same_day_delivery</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
@@ -12,11 +12,11 @@ notime same-day shipping is provided by notime AG based in Zürich Switzerla
|
|
12 |
With this new shipping method customers can view and pick from the available delivery time-slots. 
|
13 |
The popup can be placed either in the preview section, next to the product, and/or in the checkout page.
|
14 |
The merchant can configure this shipping method in the "Shipping methods" area and "Product Information" area.</description>
|
15 |
-
<notes>
|
16 |
<authors><author><name>notime</name><user>notime</user><email>dmitry.zhersh@notime.eu</email></author></authors>
|
17 |
-
<date>2016-04-
|
18 |
-
<time>
|
19 |
-
<contents><target name="magelocal"><dir name="Notime"><dir name="Shipping"><dir name="Block"><dir name="Checkout"><dir name="Onepage"><dir name="Shipping"><file name="Notime.php" hash="
|
20 |
<compatible/>
|
21 |
<dependencies><required><php><min>5.4.0</min><max>7.0.4</max></php></required></dependencies>
|
22 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>notime_same_day_delivery</name>
|
4 |
+
<version>1.1.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
7 |
<channel>community</channel>
|
12 |
With this new shipping method customers can view and pick from the available delivery time-slots. 
|
13 |
The popup can be placed either in the preview section, next to the product, and/or in the checkout page.
|
14 |
The merchant can configure this shipping method in the "Shipping methods" area and "Product Information" area.</description>
|
15 |
+
<notes>Extension calculates shipping price dynamically.</notes>
|
16 |
<authors><author><name>notime</name><user>notime</user><email>dmitry.zhersh@notime.eu</email></author></authors>
|
17 |
+
<date>2016-04-07</date>
|
18 |
+
<time>14:10:08</time>
|
19 |
+
<contents><target name="magelocal"><dir name="Notime"><dir name="Shipping"><dir name="Block"><dir name="Checkout"><dir name="Onepage"><dir name="Shipping"><file name="Notime.php" hash="f16e5aa4ff3a9c8dd2111c445c8e8744"/></dir></dir></dir><dir name="Product"><file name="Widget.php" hash="e72292e3c7e8aed1909f4584fd1ea037"/></dir><file name="ShippingMethod.php" hash="b7cd80898a2a06821e6104a35b90b61e"/></dir><dir name="Helper"><file name="Data.php" hash="42686d5dffb62fdfc799d4a052daa968"/></dir><dir name="Model"><dir name="Carrier"><file name="Notime.php" hash="242500b090ad04d6eba1487ec7dc987b"/></dir><file name="Observer.php" hash="6e3b259610c943a41c6264e43ebe0776"/></dir><dir name="etc"><file name="config.xml" hash="ec9023896574aa83ad12cd6bc57b83c4"/><file name="system.xml" hash="f124b1bda52f8da0a305c2a6170bddca"/></dir><dir name="sql"><dir name="notimeshipping_setup"><file name="mysql4-install-1.0.0.php" hash="7647e9d736ac1199cb7732358b539be6"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="e15b6ad29a30175b3afca7280d1162ce"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="notime.xml" hash="3c16298a844be38a8a6d2a7ee615d6b9"/></dir><dir name="template"><dir name="notime"><dir name="checkout"><dir name="onepage"><dir name="shipping_method"><file name="notime.phtml" hash="059796293a11841976af7c04b2bd1ff4"/></dir></dir></dir><dir name="product"><file name="widget.phtml" hash="23da2d2a03f095b8fe467c9c5c6b3c96"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Notime_Shipping.xml" hash="f5de879b88f342a03e16c4d655867b21"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Notime_Shipping.csv" hash="14d216f093725c72aca60b1a165a084a"/></dir><dir name="en_US"><file name="Notime_Shipping.csv" hash="ef8c967d4c44a6afe1f01b9cde9ff761"/></dir><dir name="fr_FR"><file name="Notime_Shipping.csv" hash="ef8c967d4c44a6afe1f01b9cde9ff761"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="notime.css" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="js"><file name="notime.js" hash="7678c5eebe3ccd258d1a1fcac13bdaa5"/></dir></dir></dir></dir></target></contents>
|
20 |
<compatible/>
|
21 |
<dependencies><required><php><min>5.4.0</min><max>7.0.4</max></php></required></dependencies>
|
22 |
</package>
|