Перейти к содержимому


Фотография
- - - - -

Изменить кнопку, если товар уже в корзине


Лучший Ответ SmetDenis , 20 February 2014 - 11:03

Кажется я понял в чем проблема. Перед этим я смотрел детальную страницу товара и там все работает.

 

Как я понял, вы используете шаблон элемента "только кнопки".

 

Замените соответствующую функцию в файле

\media\zoo\applications\jbuniversal\elements\jbpriceadvance\jbpriceadvance.php

protected function _renderButtons($params)
    {
        $params = $this->app->data->create($params);
        if ($layout = $this->getLayout('_buttons.php')) {
            $item = $this->getItem();
            return self::renderLayout($layout, array(
                'isInCart' => (int)$this->app->jbcart->isExists($item),
                'mode'     => $params->get('button_mode', 'normal'),
            ));
        }
        return null;
    }

 

В файле media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl\tmpl_only_buttons.php

Добавьте строку

ymd_200x0.png

'isInCart': <?php echo $isInCart;?>,
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 10

#1 Freeze2312

Freeze2312

Отправлено 15 February 2014 - 19:34

Здравствуйте!

Весь товар в единственном экземпляре, возможно ли сделать так, чтобы после добавления товара в корзину, после обновления страницы, кнопка сразу была изменена на "удалить из корзины"?


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 15 February 2014 - 20:02

Если товар не добавлен контейнер с кнопками имеет класс not-in-cart

d33f12_200x0.png

При добавлении товара в корзину изменяется класс у контейнера с кнопками на in-cart

a81da1_200x0.png

 

С помощью классов можете изменять стили кнопок.


  • 0
Изображение
 

#3 Freeze2312

Freeze2312

Отправлено 16 February 2014 - 04:35

Наверное я не совсем корректно сформулировал вопрос. Я не про not-in-cart и in-cart

1. Захожу в каталог.

2. Добавляю товар в корзину (меняется класс на in-cart), остается кнопка удалить из корзины.

3. Перехожу на стр.2 с товарами, потом возвращаюсь на страницу с товаром в корзине, так вот его класс опять not-in-cart, и соответственно кнопка - добавить в корзину. При нажатии на которую выдается надпись: Товаров на складе нет.

 

Необходимо сделать так, чтобы, если товар уже в корзине есть, он сразу выводился с классом in-cart. Ну если это возможно конечно.


  • 0

#4 SmetDenis

SmetDenis

Отправлено 16 February 2014 - 08:02

Дайте ссылку на сайт
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Freeze2312

Freeze2312

Отправлено 16 February 2014 - 08:10

Дайте ссылку на сайт

http://xn----8sbelm3...dex.php/katalog


  • 0

#6 SmetDenis

SmetDenis

Отправлено 16 February 2014 - 08:18

На странице дважды включен jQuery, что может навредить работе JS-плагинам.
Попробуйте отключить.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 Freeze2312

Freeze2312

Отправлено 18 February 2014 - 16:48

Вроде отключил все что можно отключить... проблема осталась


  • 0

#8 Freeze2312

Freeze2312

Отправлено 19 February 2014 - 04:23

А причем тут jQuery? Посмотрел - на демосайте та же проблема. Я так понимаю при выводе товара отсутствует проверка на присутствие в корзине?


Сообщение отредактировал Freeze2312: 19 February 2014 - 04:24

  • 0

#9 Freeze2312

Freeze2312

Отправлено 19 February 2014 - 15:39

Можно ли это реализовать?


  • 0

#10 SmetDenis

SmetDenis

Отправлено 20 February 2014 - 11:03   Лучший Ответ

Кажется я понял в чем проблема. Перед этим я смотрел детальную страницу товара и там все работает.

 

Как я понял, вы используете шаблон элемента "только кнопки".

 

Замените соответствующую функцию в файле

\media\zoo\applications\jbuniversal\elements\jbpriceadvance\jbpriceadvance.php

protected function _renderButtons($params)
    {
        $params = $this->app->data->create($params);
        if ($layout = $this->getLayout('_buttons.php')) {
            $item = $this->getItem();
            return self::renderLayout($layout, array(
                'isInCart' => (int)$this->app->jbcart->isExists($item),
                'mode'     => $params->get('button_mode', 'normal'),
            ));
        }
        return null;
    }

 

В файле media\zoo\applications\jbuniversal\elements\jbpriceadvance\tmpl\tmpl_only_buttons.php

Добавьте строку

ymd_200x0.png

'isInCart': <?php echo $isInCart;?>,

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!