Jump to content

Пропала кнопка добавить в корзину


Recommended Posts

Здравствуйте форумчане.

Столкнулся с проблемой. После очередного обновления обратил внимание что кнопка "добавить в корзину" пропала.

Даже не знаю когда это произошло. В карточке товара все нормально.Все работает.А вот в каталоге кнопки нет.

Преста 8.0.4. Режим каталога выключен.С атрибутами добавлять можно. Многочего перепробовал.

Было дело ставил шаблоны с бесплатных сайтов. И откатывался,были ошибки. Сейчас тема стандартная.

добавить в корзину.png

кнопка есть.png

Link to comment
Share on other sites

Поделитесь ссылкой. Также очистите кеш в папке VAR. Сделайте так, чтобы группы были настроены правильно, чтобы использовать «купить».

Link to comment
Share on other sites

37 minutes ago, juanrojas said:

привет, я не могу понять вашу проблему, я без проблем добавил один из продуктов, которые у вас есть на складе

image.thumb.png.8bf6e45d26e5d101eb154ce9f3b063bc.png

Добавить в корзину можно. Но не из каталога. Нужно войти в карточку товара.

Link to comment
Share on other sites

Здравствуйте!
При обновлении PrestaShop вы обновили родную тему "classic"

1) Если вы делаете изменения в родной теме то её нужно переопределить, вот в этой теме я писал об этом


2) По пути /themes/classic/templates/catalog/_partials/miniatures/product.tpl добавьте код 

 

       {block name='product_list_buy'}
            <div class="list-buy-button ">
              {if !$configuration.is_catalog && $product.add_to_cart_url && $product.customizable == 0 && $product.minimal_quantity == 1}
                <a
                  class="btn add-to-cart btn-primary js-ajax-add-to-cart" 
                  href="{$product.url}"
                  data-id-product="{$product.id_product}"
                >
                  <span>{l s='Add to cart' d='Shop.Theme.Actions'}</span>
                </a>
              {else}
                <a class="btn btn-light add-to-cart details-link" href="{$product.url}">
                  <span>{l s='Details' d='Shop.Theme.Global'}</span>
                </a>
              {/if}
            </div>
          {/block}

3) Если вы будете делать в классической теме то нужно создать файл custom.js по пути /themes/classic/assets/js/custom.js и в этот файл вставляем код js обработку нажатия на кнопку

 

$('body').on('click', '.js-ajax-add-to-cart', function (event) {
    event.preventDefault();

    var $btn = $(this);
    $btn.addClass('disabled');

    var actionURL = prestashop.urls.pages.cart,
        query = 'id_product=' + $btn.data('id-product') + '&add=1&action=update&token=' + prestashop.static_token,
        qty_val = 1,
        qty = $btn.closest('.js-product-miniature').find('.js-add-to-cart-quantity');
    if (qty.length && parseInt(qty.val()) > 1) {
      qty_val = parseInt(qty.val());
    }
    query = query + '&qty=' + qty_val;

    $.post(actionURL, query, null, 'json').then(function (resp) {
      prestashop.emit('updateCart', {
        reason: {
          idProduct: resp.id_product,
          idProductAttribute: resp.id_product_attribute,
          linkAction: 'add-to-cart'
        },
        resp
      });
      $('.js-ajax-add-to-cart').removeClass('disabled');
      $('.js-ajax-add-to-cart').find('.loading-miniature').remove()
      if (resp.success) {
        if (!psAjaxCart) {
          window.location.href = prestashop.urls.pages.cart + '?action=show';
        }
      }
      if (resp.hasError) {
        $('.js-modal-message-text').text(resp.errors[0]);
        $('.js-modal-message').modal('show');
      }
    }).fail(function (resp) {
      prestashop.emit('handleError', { eventType: 'addProductToCart', resp: resp });
    });

    return false;
  });

 
На скриншоте показано решение вашего вопроса

В модуле обновления нужно выключить флажок, который отвечает за обновление родной темы или лучше сделать её переопределение.
 

Screenshot_2.png

 

Официальный разработчик тем и модулей на PrestaShop

Edited by Ewonta (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...