• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Изменение количества покупаемого товара на странице категории

mendax28

Новичок
Приветствую. Столкнулся с проблемой - нужно выбирать, сколько товара покупаешь, не заходя при этом в карточку товара - т.е. на странице категории. Т.е. нужно добавить поле ввода кол-ва товара и вывести рядом с ней плюс и минус. Может, кто-нибудь тоже сталкивался или знает, как это сделать?
Буду признателен за любую помощь по данному вопросу!
 

mendax28

Новичок
Решение нашел. Если кому надо - пожалуйста:
PHP:
<?php
/**
 * Loop Add to Cart
 */

global $product; 
if( $product->get_price() === '' && $product->product_type != 'external' ) return;
?>

<?php if ( ! $product->is_in_stock() ) : ?>
       
    <a href="<?php echo get_permalink($product->id); ?>" class="button"><?php echo apply_filters('out_of_stock_add_to_cart_text', __('Read More', 'woocommerce')); ?></a>

<?php else : ?>
   
    <?php 
   
        switch ( $product->product_type ) {
            case "variable" :
                $link     = get_permalink($product->id);
                $label     = apply_filters('variable_add_to_cart_text', __('Select options', 'woocommerce'));
            break;
            case "grouped" :
                $link     = get_permalink($product->id);
                $label     = apply_filters('grouped_add_to_cart_text', __('View options', 'woocommerce'));
            break;
            case "external" :
                $link     = get_permalink($product->id);
                $label     = apply_filters('external_add_to_cart_text', __('Read More', 'woocommerce'));
            break;
            default :
                $link     = esc_url( $product->add_to_cart_url() );
                $label     = apply_filters('add_to_cart_text', __('Add to cart', 'woocommerce'));
            break;
        }
   
        //printf('<a href="%s" rel="nofollow" data-product_id="%s" class="button add_to_cart_button product_type_%s">%s</a>', $link, $product->id, $product->product_type, $label);
       
        if ( $product->product_type == 'simple' ) {
           
            ?>
            <form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" class="cart" method="post" enctype='multipart/form-data'>
       
                <?php woocommerce_quantity_input(); ?>
       
                <button type="submit" class="button alt"><?php echo $label; ?></button>
       
            </form>
            <?php
           
        } else {
           
            printf('<a href="%s" rel="nofollow" data-product_id="%s" class="button add_to_cart_button product_type_%s">%s</a>', $link, $product->id, $product->product_type, $label);
           
        }
    ?>

<?php endif; ?>

Код вставляем вместо содержимого файла - woocommerce\templates\loop\add-to-cart.php
Работает только с простыми товарами.
 

rikitiki

Специалист
Местный
В битриксе интересный функционал для витрин - http://bitrix.onvolga.com/catalog/pants/
Пр наведении курсора на миниатюру, кроме формы выбора количества, ещё вариации цвета и размера появляются. Соответственно, при выборе цвета и картинка меняется, причём для каждого цвета в двух вариантах в зависмости от хавера.
Как такое для Woocommerce осуществить?
 

D&B

Администратор
Команда форума
Местный
Уже чуть ниже в "персональных" хорошо видно, что такое решение явно перегружено деталями.
 

searchingman

Гуру
Местный
Уже чуть ниже в "персональных" хорошо видно, что такое решение явно перегружено деталями.
Согласен, что такую функциональность нужно не везде вставлять, а то для блока "Персональные рекомендации" выглядит курьезно.
 

Azazello77

Новичок
приведенный способ при добавлении товара в корзину перезагружает страницу(
 
Сверху Снизу