We are using custom shipping method & we entered list of zip codes that are deliverable in textarea in Backend. also list of zip codes that is available for COD in backend in another text area.
In Products view page , we provide an option to find Shipping & COD is available or not by entering zip code using this module - magento shipping estimation block
Now we are displaying 2 kinds of message : a) Shipping is available b) Shipping not available.
but we want following 3 types of messages :
for some zip codes, i want to display message as
1) Shipping is available, COD is available [ If zip code is present in both text area]
for some other zip codes, i want to display message as
2) Shipping is available, COD is not available
[If zip code is present in textarea related to delivery ]
Also for some,
3) Shipping is not available. [ If zip code not present in both text area].
form.phtml
:
<?php if ($this->isEnabled()): ?>
<div class="block block-shipping-estimate" id="unique_id">
<img src ="/media/font-100.png" height="35" width="70" class ="ikon">
<div class="block-title">
<strong><span><?php echo Mage::helper('webdevlopers_productpageshipping')->getTitle(); ?></span></strong>
</div>
<div class="block-content">
<p class="block-subtitle">
<?php echo Mage::helper('webdevlopers_productpageshipping')->getDes(); ?>
</p>
<ul class="shipping-estimation-form" id="shipping-estimation-form">
<?php if ($this->isFieldVisible('country')): ?>
<li class="item">
<label for="estimate_country" class="required"><em>*</em><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Country') ?></label>
<div class="input-box">
<?php echo Mage::getBlockSingleton('directory/data')->getCountryHtmlSelect(
($this->getFieldValue('country') ? $this->getFieldValue('country') : $this->getConfig()->getDefaultCountry()),
'estimate[country_id]',
'estimate_country'
);
?>
</div>
</li>
<?php else: ?>
<input type="hidden" id="estimate_country" name="estimate[country_id]" value="<?php echo $this->htmlEscape($this->getConfig()->getDefaultCountry())?>" />
<?php endif; ?>
<?php if ($this->isFieldVisible('region')): ?>
<li class="item">
<label for="estimate_region_id"<?php if ($this->isFieldRequired('region')):?> class="required" <?php endif;?>><?php if ($this->isFieldRequired('region')):?><em>*</em><?php endif;?><?php echo $this->__('State/Province') ?></label>
<div class="input-box">
<select id="estimate_region_id" name="estimate[region_id]" title="<?php echo Mage::helper('webdevlopers_productpageshipping')->__('State/Province') ?>" style="display:none;"<?php echo ($this->isFieldRequired('region') ? ' class="validate-select"' : '') ?>>
<option value=""><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Please select an option') ?></option>
</select>
<script type="text/javascript">
//<![CDATA[
$('estimate_region_id').setAttribute('defaultValue', '<?php echo $this->jsQuoteEscape($this->getFieldValue('region_id')); ?>');
//]]>
</script>
<input type="text" id="estimate_region" name="estimate[region]" value="<?php echo $this->htmlEscape($this->getFieldValue('region')) ?>" title="<?php echo Mage::helper('webdevlopers_productpageshipping')->__('State/Province') ?>" class="input-text" style="display:none;" />
</div>
</li>
<script type="text/javascript">
//<![CDATA[
new RegionUpdater('estimate_country', 'estimate_region', 'estimate_region_id', <?php echo $this->helper('directory')->getRegionJson() ?>);
//]]>
</script>
<?php endif; ?>
<?php if($this->isFieldVisible('city')): ?>
<li class="item">
<label for="city"<?php if ($this->isFieldRequired('city')):?> class="required" <?php endif;?>><?php if ($this->isFieldRequired('city')):?><em>*</em><?php endif;?><?php echo Mage::helper('webdevlopers_productpageshipping')->__('City') ?></label>
<div class="input-box">
<input class="input-text<?php if ($this->isFieldRequired('city')):?> required-entry<?php endif;?>" id="estimate_city" type="text" name="estimate[city]" value="<?php echo $this->htmlEscape($this->getFieldValue('city')) ?>" />
</div>
</li>
<?php endif; ?>
<?php if ($this->isFieldVisible('postcode')): ?>
<li class="item">
<label for="search"<?php if ($this->isFieldRequired('postcode')):?> class="required" <?php endif;?>><?php if ($this->isFieldRequired('postcode')):?><em>*</em><?php endif;?><?php echo Mage::helper('webdevlopers_productpageshipping')->__('') ?></label>
<div class="search">
<input placeholder="Enter your PIN Code" class="input-text <?php if ($this->isFieldRequired('postcode')):?>
required-entry<?php endif;?> validate-pincode maximum-length-6 minimum-length-6 validate-digits"
type="text" id="estimate_postcode" name="estimate[postcode]"
value="<?php echo $this->htmlEscape($this->getFieldValue('postcode')) ?>"
onkeydown="if (event.keyCode == 13) { return false;}" />
</div>
</li>
<?php endif; ?>
<?php if ($this->isFieldVisible('coupon_code')): ?>
<li class="item">
<label for="estimate_coupon_code"<?php if ($this->isFieldRequired('coupon_code')):?> class="required" <?php endif;?>><?php if ($this->isFieldRequired('coupon_code')):?><em>*</em><?php endif;?><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Coupon Code') ?></label>
<div class="input-box">
<input class="input-text <?php if ($this->isFieldRequired('coupon_code')):?> required-entry<?php endif;?>" type="text" id="estimate_coupon_code" name="estimate[coupon_code]" value="<?php echo $this->htmlEscape($this->getFieldValue('coupon_code')) ?>" />
</div>
</li>
<?php endif; ?>
<?php if ($this->isFieldVisible('cart')): ?>
<li class="item radio">
<label for="estimate_cart_yes"><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Include Cart Items') ?></label>
<div class="input-box">
<input type="radio" id="estimate_cart_yes" name="estimate[cart]" value="1" <?php if ($this->useShoppingCart()): ?> checked="checked"<?php endif;?> /><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Yes') ?>
<input type="radio" id="estimate_cart_no" name="estimate[cart]" value="0" <?php if (!$this->useShoppingCart()): ?> checked="checked"<?php endif;?> /> <?php echo Mage::helper('webdevlopers_productpageshipping')->__('No') ?>
</div>
</li>
<?php elseif ($this->useShoppingCart()):?>
<input id="estimate_cart_yes" type="hidden" name="estimate[cart]" value="1" />
<?php endif; ?>
</ul>
<script type="text/javascript">decorateList('shipping-estimation-form');</script>
<div class="actions">
<span class="please-wait f-left" id="shipping-estimate-loading-message" style="display:none;">
<?php echo Mage::helper('webdevlopers_productpageshipping')->__('') ?>
</span>
<div class="f-right">
<button type="button" id ="check1234" title="<?php echo Mage::helper('webdevlopers_productpageshipping')->getButton(); ?>"
onclick="estimateProductShipping()" class="button">
<span><span style ="font-size:11px; padding:5px;">
<?php echo Mage::helper('webdevlopers_productpageshipping')->__('CHECK') ?></span></span>
</button>
</div>
</div>
</div>
</div>
<!-- chnage
<a id="delivery-pincode-change" href="javascript:void(0)">change</a>
change end-->
<div id="shipping-estimate-results" style="display:none">
</div>
<script type="text/javascript">
( function($) {
$(document).ready(function(){
$('#estimate_postcode').keydown(function(e){
var items = $$(['.shipping-estimation-form input',
'.shipping-estimation-form select',
'#product_addtocart_form input',
'#product_addtocart_form select']);
var estimationUrl = '<?php echo $this->jsQuoteEscape($this->getEstimateUrl());?>';
var parameters = Form.serializeElements(items, true);
console.log("zipcode onkeypress worked");
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == '13'){
//disable default enter action
e.preventDefault();
console.log("Enter button was pressed");
$('#shipping-estimate-loading-message').show();
$('#shipping-estimate-results').hide();
new Ajax.Updater('shipping-estimate-results', estimationUrl, {
parameters: parameters,
onComplete: function() {
console.log("ajax updater worked");
$('#shipping-estimate-loading-message').hide();
$('#shipping-estimate-results').show();
$('#unique_id').hide();
//$('unique_id').hide();
$('estimate_postcode').val()
}
});
};
});
});
} ) ( jQuery );
function estimateProductShipping()
{
var estimationUrl = '<?php echo $this->jsQuoteEscape($this->getEstimateUrl());?>';
var items = $$(['.shipping-estimation-form input',
'.shipping-estimation-form select',
'#product_addtocart_form input',
'#product_addtocart_form select']);
var validationResult = true;
// Check the valid input
if (!items.map(Validation.validate).all()) {
return;
}
var parameters = Form.serializeElements(items, true);
$('shipping-estimate-loading-message').show();
$('shipping-estimate-results').hide();
new Ajax.Updater('shipping-estimate-results', estimationUrl, {
parameters: parameters,
onComplete: function() {
console.log("ajax updater worked");
$('shipping-estimate-loading-message').hide();
$('shipping-estimate-results').show();
// $('#unique_id').hide();
$('unique_id').hide();
$('estimate_postcode').val()
}
});
}
function changeEstimate(){
$('unique_id').show();
$('shipping-estimate-results').hide();
}
/*
Event.observe('delivery-pincode-change', 'click', function(event){
$('unique_id').show();
$('shipping-estimate-results').hide();
$('delivery-html').hide();
});
*/
/*
$(document).ready(function(){
$('check1234').on('click', function(){
$('#unique_id').hide();
$('#shipping-estimate-results').show();
});
});
*/
//]]>
</script>
<!-- Raph -->
<?php if ($this->htmlEscape($this->getFieldValue('postcode'))): ?>
<script type="text/javascript">
Event.observe(window, 'load', function() {
estimateProductShipping();
});
</script>
<?php endif; ?>
<!-- Raph end-->
<?php endif;?>
Results.phtml :
<div class="block block-shipping-estimate block-shipping-results" id ="shipping-estimate-results" >
<div class="block-title">
<strong><span>
<?php
echo Mage::helper('webdevlopers_productpageshipping')->getShiptitle();
?>
</span></strong>
</div>
<div class="block-content">
<?php if ($this->getResult()):?>
<dl>
<?php foreach ($this->getResult() as $code => $_rates): ?>
<dt><?php echo $this->getCarrierName($code) ?></dt>
<dd>
<ul>
<?php foreach ($_rates as $_rate): ?>
<li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"';?>>
<?php if ($_rate->getErrorMessage()): ?>
<?php echo $_rate->getErrorMessage() ?>
<?php else: ?>
<?php
// echo $_rate->getMethodTitle()
?>
<?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax()); ?>
<?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
<!-- sat -->
<p style="font-size:20px;"><?php echo "Available with 14 sellers at";?>
<?php $addressInfo = $this->getRequest()->getPost('estimate',array()); ?>
<?php if(isset($addressInfo['postcode']) && $addressInfo['postcode']):?>
<?php echo ' '.$this->htmlEscape($addressInfo['postcode']); ?>
<?php endif;?>
<a style="text-decoration: underline" href="javascript:void(0)" onclick="changeEstimate();"><?php echo $this->__('change')?></a>
</p>
<p class="vship1">
<?php echo "Selling Price + " . str_replace('.00','',$_excl) . " Delivery ";?>
</p>
<!-- sat -->
<?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
(<?php echo Mage::helper('webdevlopers_productpageshipping')->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
<?php endif; ?>
<?php endif ?>
</li>
<?php endforeach; ?>
</ul>
</dd>
<?php endforeach; ?>
</dl>
<?php else: ?>
<?php //echo $this->getMessagesBlock()->toHtml(); ?>
<?php echo Mage::helper('webdevlopers_productpageshipping')->getResult(); ?>
<span><a style="text-decoration: underline" href="javascript:void(0)" onclick="changeEstimate();"><?php echo $this->__('change')?></a></span>
<?php endif;?>
</div>
</div>
ex : link ,zip code : 110001