@MaxKondratenko

Есть пара вопросов по wordpress woocommerce?

Есть несколько вопросов по wordpress woocommerce.
Я только начинаю знакомится с этой cms.
в общем то есть ряд проблем )
1. поставил плагин WooCommerce Advanced Product Quantities, который добавляет минимально количество товара для покупки + шаг количества товаров, допустим есть линейка одежды, в ней 5 штук разных размеров, минимальный заказ 5 штук, шаг 5, т.е. 5 , 10 , 15 и т.д.
так вот всё работает отлично, но ! на всех товарах в категориях естественно есть кнопка добавить в корзину, при нажатии на кнопку, в корзину пытается добавиться один товар, затем перекидывает на страницу товара где пишется ошибка , что нельзя купить меньше 5 штук ну и со страницы можно добавить в корзину.
Собственно сам вопрос, можно ли добавить к кнопке добавления в корзину из каталога мин, кол.во товара, которое берется из плагина. Сам плагин подгружается на страницу... то что выдернул из фаербага.
jQuery(document).ready( function($) {

	/*
	*	Quantity Rule Validation
	*	
	*	If user enters a value that is out of bounds, 
	*	it will be auto corrected to a valid value.
	*/		
	$(".qty").change(function() {

		// Get values from input box
		var new_qty = $(this).val();
		var step = $(this).attr( 'step' );
		var max = $(this).attr( 'max' );
		var min = $(this).attr( 'min' );
		// Adjust default values if values are blank
		if ( min == '' || typeof min == 'undefined' ) 
			min = 1;
		if ( step == '' || typeof step == 'undefined') 
			step = 1;
		// Max Value Validation
		if ( +new_qty > +max && max != '' ) {
			new_qty = max;
		// Min Value Validation
		} else if ( +new_qty < +min && min != '' ) {
			new_qty = min;
		}
		// Calculate remainder
		var rem = ( new_qty - min ) % step;
		// Step Value Value Validation
		if ( rem != 0 ) {
			new_qty = +new_qty + (+step - +rem);
			// Max Value Validation
			if ( +new_qty > +max ) {
				new_qty = +new_qty - +step;
			}
		}
		// Set the new value
		$(this).val( new_qty );
	});
	/*
	*	Make sure minimum equals value 
	*	To Fix: when min = 0 and val = 1 
	*/
	if ( $("body.single-product .qty").val() != $("body.single-product .qty").attr('min') && $("body.single-product .qty").attr('min') != '' ) {
		$("body.single-product .qty").val( $("body.single-product .qty").attr('min') );
	}
	/*
	*	Variable Product Support
	*	
	*	Need to overwrite what WC changes with their js
	*/
	// Get localized Variables
	if ( typeof ipq_validation !== 'undefined' ) {
		var start_min = ipq_validation.min;
		var start_max = ipq_validation.max;
		var start_step = ipq_validation.step;
	}
	// Update input box after variaiton selects are blured
	$('.variations select').bind('blur',function() {
		// Update min
		if ( start_min != $('.qty').attr('min') && start_min != '' ) {
			$('.qty').attr('min', start_min );
		}
		// Update max
		if ( start_max != $('.qty').attr('max') && start_max != '' ) {
			$('.qty').attr('max', start_max );
		}
		// Update step
		if ( start_step != $('.qty').attr('step') && start_step != '' ) {
			$('.qty').attr('step', start_step );
		}
		// Make sure intput value is in bounds
		if ( start_min > $('.qty').attr('value') && start_min != '' ) {
			$('.qty').attr('value', start_min );
		}
	});
});


вот js кот кнопки которая добавляет в корзину
jQuery(function(a) {
    return "undefined" == typeof wc_add_to_cart_params?!1 : void a(document).on("click", ".add_to_cart_button", function() {
        var b = a(this);
        if (b.is(".product_type_simple")) {
            if (!b.attr("data-product_id"))
                return !0;
            b.removeClass("added"), b.addClass("loading");
            var c = {
                action: "woocommerce_add_to_cart"
            };
            return a.each(b.data(), function(a, b) {
                c[a] = b
            }), a("body").trigger("adding_to_cart", [b, c]), a.post(wc_add_to_cart_params.ajax_url, c, function(c) {
                if (c) {
                    var d = window.location.toString();
                    return d = d.replace("add-to-cart", "added-to-cart"), c.error && c.product_url ? void(window.location = c.product_url) : "yes" === wc_add_to_cart_params.cart_redirect_after_add ? void(window.location = wc_add_to_cart_params.cart_url) : (b.removeClass("loading"), fragments = c.fragments, cart_hash = c.cart_hash, fragments && a.each(fragments, function(b) {
                        a(b).addClass("updating")
                    }), a(".shop_table.cart, .updating, .cart_totals").fadeTo("400", "0.6").block({
                        message: null,
                        overlayCSS: {
                            opacity: .6
                        }
                    }), b.addClass("added"), wc_add_to_cart_params.is_cart || 0 !== b.parent().find(".added_to_cart").size() || b.after(' <a href="' + wc_add_to_cart_params.cart_url + '" class="added_to_cart wc-forward" title="' + wc_add_to_cart_params.i18n_view_cart + '">' + wc_add_to_cart_params.i18n_view_cart + "</a>"), fragments && a.each(fragments, function(b, c) {
                        a(b).replaceWith(c)
                    }), a(".widget_shopping_cart, .updating").stop(!0).css("opacity", "1").unblock(), a(".shop_table.cart").load(d + " .shop_table.cart:eq(0) > *", function() {
                        a(".shop_table.cart").stop(!0).css("opacity", "1").unblock(), a("body").trigger("cart_page_refreshed")
                    }), a(".cart_totals").load(d + " .cart_totals:eq(0) > *", function() {
                        a(".cart_totals").stop(!0).css("opacity", "1").unblock()
                    }), a("body").trigger("added_to_cart", [fragments, cart_hash, b]), void 0)
                }
            }), !1
        }
        return !0
    })
});

2. И второй вопрос поставил плагин YITH WOOCOMMERCE QUICK VIEW
когда открываем , нет описания товара, и нет кнопок товара количества товара и кол.во товара равно 1 шт, хотя если нажать и зайти в детальную инфо товара, там всё ка надо 5шт.
/**
* frontend.js
*
* author Your Inspiration Themes
* @package YITH WooCommerce Quick View
* @version 1.0.0
*/
jQuery(document).ready(function($){
"use strict";
var qv_modal = $(document).find( '#yith-quick-view-modal' ),
qv_overlay = qv_modal.find( '.yith-quick-view-overlay'),
qv_content = qv_modal.find( '#yith-quick-view-content' ),
qv_close = qv_modal.find( '#yith-quick-view-close' );
/*==================
*MAIN BUTTON OPEN
==================*/
$.yith_quick_view = function() {
var trigger = $(document).find( '.yith-wcqv-button' );
// remove prev click event
trigger.off( 'click' );
trigger.on( 'click', function(e){

e.preventDefault();
var t = $(this),
product_id = t.data( 'product_id' ),
is_blocked = false;
if ( typeof yith_qv.loader !== 'undefined' ) {
is_blocked = true;
t.block({
message: null,
overlayCSS : {
background: '#fff url(' + yith_qv.loader + ') no-repeat center',
opacity : 0.5,
cursor : 'none'
}
});
}
ajax_call( t, product_id, is_blocked );
});
};
// init
$.yith_quick_view();
/*================
* MAIN AJAX CALL
================*/
var ajax_call = function( t, product_id, is_blocked ) {
$.post( yith_qv.ajaxurl, { action: 'yith_load_product_quick_view', product_id: product_id }, function( data ) {
qv_content.html( data );
// quantity fields for WC 2.2
if( yith_qv.is2_2 ) {
qv_content.find('div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)').addClass('buttons_added').append('').prepend('');
}
// Variation Form
var form_variation = qv_content.find( '.variations_form' );
form_variation.wc_variation_form();
if( typeof $.fn.yith_wccl !== 'undefined' ) {
form_variation.yith_wccl();
}
// Init prettyPhoto
if( typeof $.fn.prettyPhoto !== 'undefined' ) {
qv_content.find("a[data-rel^='prettyPhoto'], a.zoom").prettyPhoto({
hook : 'data-rel',
social_tools : false,
theme : 'pp_woocommerce',
horizontal_padding: 20,
opacity : 0.8,
deeplinking : false
});
}
if( ! qv_modal.hasClass( 'open' ) ) {
qv_modal.addClass('open');
if( is_blocked )
t.unblock();
}
// stop loader
$(document).trigger( 'qv_loader_stop' );
});
};
/*===================
* CLOSE QUICK VIEW
===================*/
var close_modal_qv = function() {
// Close box by click overlay
qv_overlay.on( 'click', function(e){
close_qv();
});
// Close box with esc key
$(document).keyup(function(e){
if( e.keyCode === 27 )
close_qv();
});
// Close box by click close button
qv_close.on( 'click', function(e) {
e.preventDefault();
close_qv();
});
var close_qv = function() {
qv_modal.removeClass('open');
setTimeout(function () {
qv_content.html('');
}, 1000);
}
};
close_modal_qv();
});
вот думаю или убрать кнопку добавления в корзину и оставить только возможность из quick view добавлять, или оставить и то и то, ещё бы разобраться как это сделать )))
Направьте хотя бы в какую сторону копать...
  • Вопрос задан
  • 1922 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы