Я удалил почти все ссылки .js в моей теме Magento. В частности, я удалил щелчок кнопки «Добавить в корзину».
в template/catalog/product/view/addtocart.phtml
Я удалил onclick="productAddToCartForm.submit(this)
in template/catalog/product/view/view.phtml
Я удалил этот блок кода ...
<script type="text/javascript">
//<![CDATA[
var productAddToCartForm = new VarienForm('product_addtocart_form');
productAddToCartForm.submit = function(button, url) {
if (this.validator.validate()) {
var form = this.form;
var oldUrl = form.action;
if (url) {
form.action = url;
}
var e = null;
try {
this.form.submit();
} catch (e) {
}
this.form.action = oldUrl;
if (e) {
throw e;
}
if (button && button != 'undefined') {
button.disabled = true;
}
}
}.bind(productAddToCartForm);
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'];
if (this.validator.validate()) {
if (url) {
this.form.action = url;
}
this.form.submit();
}
Object.extend(Validation.methods, nv);
}
}.bind(productAddToCartForm);
//]]>
</script>
Однако теперь, когда я отправляю форму, я ничего не получаю.
Я решил изменить добавление в корзину <button>
для правильной отправки. Так что я изменил это ...
<button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart"><span><span><?php echo $buttonTitle ?></span></span></button>
к этому ...
<input type="submit" value="<?php echo $buttonTitle ?>" />
Когда я это делаю, форма отправляется, но я получаю «Страница не найдена», URL-адрес, на который я перехожу, выглядит следующим образом /checkout/cart/add/uenc/aHR0cDovLzcwLjMyLjc0LjQ2L3J0bF9tYWdlbnRvL2luZGV4LnBocC9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC8xNQ,,/product/15/
Разве нельзя отправить форму по старинке в Magento без javascript? Если да, можете ли вы дать некоторые советы?
Мой план состоял в том, чтобы подключить мою собственную проверку jQuery (что довольно просто, мне просто нужно проверить, что поле qty имеет длину) и избавиться от некоторой нелепости кода выше.