Отображение стоимости доставки без нажатия кнопки «Проверить».
-
29-09-2020 - |
Вопрос
посещать ссылка1 Стоимость доставки вы можете найти на странице просмотра, изображение 1:
введите «110001» в текстовое поле, нажмите кнопку «Проверить» в ссылке 2, она отобразится, как указано выше, теперь нажмите на другой продукт ссылка2 , вы можете видеть, что почтовый индекс «110001» все еще присутствует в текстовом поле.Это отлично.
Но чтобы получить стоимость доставки, нам нужно снова введите кнопку «проверить».мне нужно, не нажимая кнопку «Проверить», стоимость доставки должна отображаться, как только мы откроем ссылку на любую страницу продукта. во 2-й раз.
form.phtml
<?php if ($this->isEnabled()): ?>
<div class="block block-shipping-estimate">
<img src ="http://sitename.com/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 validate-postcode<?php if ($this->isFieldRequired('postcode')):?> required-entry<?php endif;?>" type="text" id="estimate_postcode" name="estimate[postcode]" value="<?php echo $this->htmlEscape($this->getFieldValue('postcode')) ?>" />
</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" 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>
<div id="shipping-estimate-results" style="display:none">
</div>
<script type="text/javascript">
//<![CDATA[
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() {
$('shipping-estimate-loading-message').hide();
$('shipping-estimate-results').show();
}
});
}
//]]>
</script>
<?php endif;?>
result.phtml
<div class="block block-shipping-estimate block-shipping-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); ?>
<?php echo $_excl; ?>
<?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(); ?>
<?php endif;?>
</div>
</div>
Решение
Я считаю, что вы сможете сделать это, выполнив следующие действия после estimateProductShipping()
Объявление функции JS (после последнего </script>
ярлык):
<?php if ($this->htmlEscape($this->getFieldValue('postcode'))): ?>
<script type="text/javascript">
Event.observe(window, 'load', function() {
estimateProductShipping();
});
</script>
<?php endif; ?>
Таким образом, если значение уже присвоено, оно вызовет функцию при загрузке окна.