Выводим корзину в любом месте

Поделиться:

Благодаря функциональности плагина, вы можете вывести сколько угодно виджетов корзины в любом месте вашего шаблона.  Кроме этого вы можете обновлять корзину динамически, методом AJAX.

1. Отлавливаем js событие  fs_add_to_cart

Первое, что вам нужно сделать, это отловить момент добавления в корзину.  Осуществить это можно с помощью события:

fs_add_to_cart

Вот пример кода:

// Событие срабатывает когда товар добавлен в корзину
document.addEventListener("fs_add_to_cart", function (event) {
    // функция для динамического получения корзины
    fs_get_cart('cart-widget/widget-side', '.cartModal')
    event.preventDefault();
}, false);

Этот код нужно вставить в *.js файл подключаемый в вашу тему.

Javascript функция fs_get_cart() имеет два параметра:

  1. путь к шаблону относительно папки fast-shop, внутри вашей темы (в примере: cart-widget/widget-side). Как создать шаблон написано ниже.
  2. обёртка (wrapper) внутри которой корзина будет обновляться

2. Создаём шаблон динамической корзины

Выводим корзину в любом месте

Далее я объясню какие параметры нужно изменить, чтобы это сработало для вас.

Во первых необходимо создать шаблон динамической корзины. Создайте шаблон необходимый вам внутри вашей темы по пути: папка_вашей_темы/fast-shop/cart-widget/название_вашего_файла

Также файл шаблона должен иметь расширение php.

Чтобы получить всё содержимое корзины внутри название_вашего_файла.php используйте функцию:

fs_get_cart()

Пожалуйста не путайте её с js функцией которая идентична по названию.

Эта функция получает все товары в корзине с их атрибутами, такими как цена, название, миниатюра, количество и другие. Достаточно просто перебрать в массиве все позиции добавленные в корзину:

<?php $cart = fs_get_cart( array( 'price_format' => '%s <small>%s</small>' ) ) ?>
<?php if ( $cart ): ?>
   <?php foreach ( $cart as $c ): ?>
      <div class="item">
         <div class="col-1">
            <?php do_action( 'fs_delete_position', $c['id'], array(
               'class' => 'removeProduct',
               'type'  => 'button'
            ) ) ?>
         </div>
         <div class="col-2">
            <img src="<?php echo $c['thumb'] ?>" alt="<?php echo $c['name'] ?>"/>
         </div>
         <div class="col-3">
            <span class="name"><?php echo $c['name'] ?></span>
            <?php fs_the_atts_list( $c['id'] ) ?>
            <span class="price"><?php echo $c['all_price'] ?></span>
         </div>
      </div>
   <?php endforeach; ?>
<?php else: ?>
   <p class="text-center">Ваша корзина пустая.</p>
<?php endif; ?>

Разумеется, что код  представленный выше это пример, вы должны оформить корзину согласно вашей теме!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.