我们正在使用此magento extension
我在视图页面中显示每件商品的运费。
我在购物车页面中调用相同的phtml代码:app/design/frontend/default/default/template/mpassignproduct/checkout/cart/item/default.phtml
它不起作用。
view.phtml:
<?php echo $this->getChildHtml('shipping.estimate.form'); ?>
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<webdevlopers_productpageshipping_skeleton>
<reference name="head">
<action method="addCss"><file>css/productpageshipping.css</file></action>
</reference>
<block name="shipping.estimate.form" type="webdevlopers_productpageshipping/estimate_form" template="webdevlopers/productpageshipping/estimate/form.phtml" />
</webdevlopers_productpageshipping_skeleton>
<webdevlopers_productpageshipping_left>
<update handle="webdevlopers_productpageshipping_skeleton" />
<reference name="left">
<action method="insert"><block>shipping.estimate.form</block></action>
</reference>
</webdevlopers_productpageshipping_left>
<webdevlopers_productpageshipping_right>
<update handle="webdevlopers_productpageshipping_skeleton" />
<reference name="right">
<action method="insert"><block>shipping.estimate.form</block></action>
</reference>
</webdevlopers_productpageshipping_right>
<webdevlopers_productpageshipping_estimate_estimate>
<block type="webdevlopers_productpageshipping/estimate_result" name="shipping.estimate.result" template="webdevlopers/productpageshipping/estimate/result.phtml" output="toHtml" />
</webdevlopers_productpageshipping_estimate_estimate>
<catalog_product_view translate="label">
<reference name="head">
<action method="addCss"><file>css/productpageshipping.css</file></action>
</reference>
<reference name="product.info">
<block name="shipping.estimate.form" type="webdevlopers_productpageshipping/estimate_form" template="webdevlopers/productpageshipping/estimate/form.phtml" />
</reference>
</catalog_product_view>
</layout>
form.phtml
<?php if ($this->isEnabled()): ?>
<div class="block block-shipping-estimate">
<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="estimate_postcode"<?php if ($this->isFieldRequired('postcode')):?> class="required" <?php endif;?>><?php if ($this->isFieldRequired('postcode')):?><em>*</em><?php endif;?><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Zip/Postal Code') ?></label>
<div class="input-box">
<input 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')->__('Loading rates...') ?>
</span>
<div class="f-right">
<button type="button" title="<?php echo Mage::helper('webdevlopers_productpageshipping')->getButton(); ?>" onclick="estimateProductShipping()" class="button"><span><span><?php echo Mage::helper('webdevlopers_productpageshipping')->__('Get a Quote') ?></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;?>
default.phtml =&gt; http://pastebin.com/vbUjzrv1
请帮我找到解决方案
提前致谢
答案 0 :(得分:1)
添加local.xml
文件,如下所示。
<layout>
...
<checkout_cart_index>
<reference name="checkout.cart">
<block name="shipping.estimate.form" type="webdevlopers_productpageshipping/estimate_form" template="webdevlopers/productpageshipping/estimate/form.phtml" />
</reference>
</checkout_cart_index>
...
</layout>
清除缓存然后检查。