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


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

Название товара после добавления в "Список товаров в корзине"


Лучший Ответ SmetDenis , 20 February 2013 - 06:04

Новый столбец нужно добавить в шаблоне корзины
/media/zoo/applications/jbuniversal/templates/catalog/renderer/basket/_default.php

И в шаблоне списка заказанных товаров
/media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php

В обоих случаях перебирается массив объектов материалов и доступна переменная $item.
Чтобы отрисовать данные определенного поля нужно сделать примерно так

$item->getElement('<ID ЭЛЕМЕНТА>')->render();
Перейти к сообщению


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

#1 Vital

Vital

Отправлено 19 February 2013 - 12:45

Тут уже пробегал вопрос про товар с одной ценой и разными характеристиками (пример был про обувь и размеры обуви).
Так вот, можно ли не прибегая к вводу повторяемых цен просто добавлять к названию товара в корзине размер?

Мне поставили задачу:
есть товар "женская одежда",  размеры бывают XS, S, M, L может еще какие...Суть такая - при добавлении в корзину нужно выбрать размер. Я в шаблоне корзины media\zoo\applications\jbuniversal\elements\jbprice\tmpl\modal.php добавил
<label><input name="index" class="ItemSize" type="radio" value="XS" checked = "checked">
<span class="price-value">XS</span><br/></label> и т. д.
Как можно после выбора нужного размера получить в "Списке товаров в корзине" название с припиской размера?
Например,
название товара "Блузка", а после выбора размера в модальном окне "Блузка (размер S)"?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 19 February 2013 - 16:00

По факту - у вас появилось новое поле, но его нужно обрабатывать.
Сейчас добавление в корзину происходит через AJAX.
После этого нужно провалидировать, и обработать сохранить данные в сессии.
Добавить вывод в корзину. В системы оплаты (для валидации ботом).
Добавить вывод в панель управления
итд итп

Чтобы добавить новое поле придется переворошить половину кода корзины.
Я даже не рискну описывать, что и где нежно поменять. Это не тривиальная задача, нужно хорошо знать код JBZoo.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#3 Vital

Vital

Отправлено 19 February 2013 - 19:24

Денис, я наверно погорячился с описанной задачей...А можно ли сделать дополнительный столбец в таблице в файле jbbasketitems.php и вывести в него размер заказываемого товара?  Добавит столбец это не проблема, вот как туда записать размер - тут я что-то запутался в коде....
Суть в том, чтобы в форме заказа и форме email отобразился именно этот размер для обработки администратором магазина.
Администратор будет просматривать только почту и будет смотреть новые заказы именно там, а не в админке.
  • 0

#4 SmetDenis

SmetDenis

Отправлено 20 February 2013 - 06:04   Лучший Ответ

Новый столбец нужно добавить в шаблоне корзины
/media/zoo/applications/jbuniversal/templates/catalog/renderer/basket/_default.php

И в шаблоне списка заказанных товаров
/media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php

В обоих случаях перебирается массив объектов материалов и доступна переменная $item.
Чтобы отрисовать данные определенного поля нужно сделать примерно так
$item->getElement('<ID ЭЛЕМЕНТА>')->render();

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



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


#5 Vital

Vital

Отправлено 20 February 2013 - 07:57

Новый столбец нужно добавить в шаблоне корзины
/media/zoo/applications/jbuniversal/templates/catalog/renderer/basket/_default.php

И в шаблоне списка заказанных товаров
/media/zoo/applications/jbuniversal/elements/jbbasketitems/tmpl/jbbasketitems.php

В обоих случаях перебирается массив объектов материалов и доступна переменная $item.
Чтобы отрисовать данные определенного поля нужно сделать примерно так

$item->getElement('<ID ЭЛЕМЕНТА>')->render();

Денис, спасибо за помощь!!! Вроде все получилось!
Остался единственный момент - как получить значения размеров которые есть у данного товара чтобы вывести их в селекты типа radio?

$this->getItem()->getElement('0905b01a-4a0f-48d9-8041-d3d5aacdd0c4') - вот тут массив значений для каждого товара. застрял именно на этом моменте... Помогите плиз
  • 0

#6 SmetDenis

SmetDenis

Отправлено 20 February 2013 - 08:10

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



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


#7 Vital

Vital

Отправлено 20 February 2013 - 08:19

Разве метод render() не выводит то что указано в свойствах материала?

render() выводит,  мне нужно вывести в radio-boxы значения чтобы пользователь мог выбрать нужный размер...Понимаю, что где-то туплю, и php не особо сильно знаю....
$tem = $this->getItem()->getElement('0905b01a-4a0f-48d9-8041-d3d5aacdd0c4')->data();
вот тут массив со значениями этих размеров...осталось немного до реализации...;)
  • 0

#8 SmetDenis

SmetDenis

Отправлено 20 February 2013 - 08:35

Можете попробовать вызвать edit()
Все доступные свойства и методы можно подсмотреть тут - /media/zoo/elements/element/element.php

Но выбор радио-кнопок  же нужно сохранять в заказа (о чем я писал выше). Как вы это будете делать?

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



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


#9 Vital

Vital

Отправлено 20 February 2013 - 08:44

Можете попробовать вызвать edit()
Все доступные свойства и методы можно подсмотреть тут - /media/zoo/elements/element/element.php

Но выбор радио-кнопок  же нужно сохранять в заказа (о чем я писал выше). Как вы это будете делать?

Денис, вы меня не поняли...Я все эти манипуляции провожу в шаблоне модального окна.
С оформлением заказа и добавлением туда столбца с нужным размером я разобрался - все работает!
застрял только с отображением нужных размеров в модальном окне.
http://SSMaker.ru/1621394c/
Мне нужно вывести только те размеры, которые есть в товаре...

Все корректно формируется и отображается и в админке и в таблице с заказом в письме
http://SSMaker.ru/4010e4f7/
  • 0

#10 Vital

Vital

Отправлено 20 February 2013 - 10:07

Все, разобрался :D Тему можно закрывать!
  • 0




Click to return to top of page in style!