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>
|
