Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Изменение цвета фона корзины в зависимости от ее состояния


Recommended Posts

Есть необходимость менять цвет корзины, в  зависимости от того, есть в ней товары или нет.

Т.е. пустая - один цвет, полная - другой.

При перезагрузке страницы проблем нет, достаточно в хидер поставить пару строк js.

Проблема возникает при AJAX запросах.

Причем с добавлением я в целом разобрался, там достаточно похимичить с функцией addToCart, а вот с удалением товаров из корзины и с изменением их количества не могу "допереть".

Уважаемые Гуру, подскажите плиз, в какую сторону рыть?

Надіслати
Поділитися на інших сайтах

Корзина это фактически 2 блока: 

1. блок в котором пишется общая информация "товаров: 1 (100 руб.)"

2. блок, который появляется по клику на первый блок и в котором выводятся уже сами товары

 

Второй блок изменить не сложно, если он пустой то в нем есть div с классом ".empty

 

Первый блок сложнее. Для начала нужно знать пустой ли он. Тут проблема так как непосредственно к-во товара нигде не передается. Передается только готовый текст: "товаров: 1 (100руб.)", который потом вписывается в html блок. Определить к-во товаров методом сравнения текста, например если переменная  равна "товаров: 0 (0.00руб.)", значит пусто, не самый лучший вариант, потому что на сайте может быть несколько языков + несколько валют, это костыль.
Нужно изменить контроллер, который используется для добавления товаров в корзину через аякс, чтобы он передавал или отдельным json параметром наличие товаров в корзине (после чего через яваскрипт формировать html блок c нужными css классами)  или передавал готовый текст в формате, например "<span class='emty'>товаров: 1 (100руб.)</span>" После чего средствами css можно менять отображение.
Еще один нюанс - этот блок изменяется 2 аякс запросами - при добавлении товара в корзину и при удалении его из корзины. 
+ есть еще скрипт получения состояния корзины при начальной загрузке страницы. 

Надіслати
Поділитися на інших сайтах

Есть необходимость менять цвет корзины, в  зависимости от того, есть в ней товары или нет.

Т.е. пустая - один цвет, полная - другой.

При перезагрузке страницы проблем нет, достаточно в хидер поставить пару строк js.

Проблема возникает при AJAX запросах.

Причем с добавлением я в целом разобрался, там достаточно похимичить с функцией addToCart, а вот с удалением товаров из корзины и с изменением их количества не могу "допереть".

Уважаемые Гуру, подскажите плиз, в какую сторону рыть?

так же хотел менять картинку корзины (пустая/полная), но т.к. с программированием у меня мягко говоря не очень то получилось наполовину.

в header.tpl добавил

 

<?php

if($this->cart->hasProducts()) {

?>

если в корзине что то есть

<?php } else { ?>

если корзина пустая

<? }?>

 

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

Надіслати
Поділитися на інших сайтах


на ocStore 1.5.5.1.2 при добавлении товара в пустую корзину изменения происходят только после обновления страницы

Надіслати
Поділитися на інших сайтах


на ocStore 1.5.5.1.2 при добавлении товара в пустую корзину изменения происходят только после обновления страницы

 

А что происходит при удалении и изменении количества в корзине?

 

По ходу с аяксом это расширение не дружит.

Со сторонними модулями корзин, скорее всего и подавно!

Но с помощью драйвера hahd.sys все можно поправить, если там верная идея и концепция.

Надо глянуть!

Надіслати
Поділитися на інших сайтах

Посмотрел код (не ставил на сайт)...

Все примитивно! (((

 

Аякс должен работаеть только на странице товара, а на остальных изменения происходят только после обновления страницы!

Причем только при добавлении. При удалении и изменении кол-ва тоже нихт арбайтен.

Надіслати
Поділитися на інших сайтах

  • 6 months later...

В каком файле редактируется (код) пустая корзина? вроде все корзиночные файлы облазил, а найти не могу...

Хочу доработать немного, но не могу найти этот участок кода.

 

Решение (для меня удивительное):

в файле \catalog\view\theme\default\template\error\not_found.tpl

Змінено користувачем jeffoks
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.