【问题标题】:Magento 1.6.2 Adding Configurable Product in Wishlist : How to check whether or not all required fields are filled before adding to wishlistMagento 1.6.2 在愿望清单中添加可配置产品:如何在添加到愿望清单之前检查是否所有必填字段都已填写
【发布时间】:2012-05-21 06:46:29
【问题描述】:
6.2 社区版开发服装网站,其中每种产品都有各种尺寸,因此所有产品都添加为可配置产品。
Tshirt size 是必需属性,设置为下拉菜单,其第一个值为 Select A Size。
当从产品页面点击添加到购物车时,是否选择了该属性是正确的检查。
我还在产品视图页面中添加了一个添加到愿望清单按钮。但添加到愿望清单不会检查必填字段 - 属性集。
它只是直接将可配置产品添加到愿望清单中,而不需要其所需的属性大小。
QS:我如何确保像添加到购物车一样,添加到愿望清单按钮首先检查是否选择了 T 恤尺寸,如果仅选择然后将其添加到愿望清单。否则,给出一个错误......就像在添加到购物车的情况下需要 T 恤尺寸......
谢谢
穆迪
【问题讨论】:
标签:
magento
product
configurable
【解决方案1】:
导航到/app/design/frontend/<YOUR_PACKAGE>/<YOUR_TEMPLATE>/catalog/product/view/addto.phtml 并将productAddToCartForm.submitLight 更改为productAddToCartForm.submit。整行是:
<li><a href="<?php echo $_wishlistSubmitUrl ?>" onclick="productAddToCartForm.submitLight(this, '<?php echo $_wishlistSubmitUrl ?>'); return false;" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
改成:
<li><a href="<?php echo $_wishlistSubmitUrl ?>" onclick="productAddToCartForm.submit(this, '<?php echo $_wishlistSubmitUrl ?>'); return false;" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
【解决方案2】:
打开app/design/frontend/YOUR_PACKAGE/YOUR_THEME/template/catalog/product/view.phtml
注释该文件中存在的以下 Javascript 代码中的所有 delete Validation.methods 行:
productAddToCartForm.submitLight = function(button, url){
if(this.validator) {
var nv = Validation.methods;
//delete Validation.methods['required-entry'];
//delete Validation.methods['validate-one-required'];
//delete Validation.methods['validate-one-required-by-name'];
// Remove custom datetime validators
for (var methodName in Validation.methods) {
if (methodName.match(/^validate-datetime-.*/i)) {
//delete Validation.methods[methodName];
}
}
if (this.validator.validate()) {
if (url) {
this.form.action = url;
}
this.form.submit();
}
Object.extend(Validation.methods, nv);
}
}.bind(productAddToCartForm);