Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Добавление товаров в корзину с количеством товаров ajax

Автор tatfoxРаздел JS и AJAX

Ответов: 12
Просмотров: 1689
Последний ответ 24 Май 2016, 17:00:10
от tatfox
Заявка на товар вместо его оформления через корзину

Автор webtrendРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 250
Последний ответ 12 Февраль 2016, 17:02:18
от crazygeorgio
Минимальное кол-во товаров которое можно положить в корзину

Автор CanektРаздел Макросы UMI.CMS

Ответов: 5
Просмотров: 423
Последний ответ 08 Сентябрь 2016, 16:17:24
от admin
Удалить товар из корзины и очистить корзину. А так же заказать.

Автор frost-agbРаздел Шаблоны TPL

Ответов: 0
Просмотров: 79
Последний ответ 31 Август 2017, 13:44:29
от frost-agb
Всплывающая подсказка о добавлении товара в корзину

Автор diii3Раздел Шаблоны XSLT

Ответов: 6
Просмотров: 3764
Последний ответ 01 Октябрь 2012, 13:46:10
от admin

0 Пользователей и 1 Гость просматривают эту тему.

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Добрый день.
есть необходимость сделать скрытие кнопки "добавить в корзину" если у товара стоит значение "нет в наличии" на базе demodizzy.
и честно говоря совершенно не могу представить как это реализовать.
Может у кого было что то подобное?

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #1 : 30 Март 2012, 15:32:57 »
посмотри страницу с товаром в виде xml (например странице site.ru/catalog_tovarov_tovar1 ты дописываешь site.ru/catalog_tovarov_tovar1.xml и видишь xml код) там смотришь как выводиться поле  в котором должно выводиться "нет в наличии" (кстати в каком именно поле менеджер будет указывать это значение, что за тип у данного поля) и вот когда ты увидишь в xml что меняется, пропишешь соответствующее условие в своем шаблоне .

например у тебя поле со значение "нет в наличии" будет с именем "nalichie" иметь тип поля "выпадающий список. при просмотре в xml варианте такое поле при выбранном пунте "нет в наличии" будет выглядеть примерно так.
<property id="123" name="nalichie" type="relation">
<title>Наличие</title>
<value>
<item id="333" name="Опубликован" type-id="1234" ownerId="14" xlink:href="uobject://333"/>
</value>
</property>
соответственно пункт "нет в наличии" имеет id=333 (в твоем случае конечно будут другие цифры)

 Тогда  в шаблоне для вывода товара укажем условие которое проверяет что если есть поле с именем "nalichie" и его значение не равно 333 то выводить код кнопки
<xsl:if test="not(//property[@name='nalichie']/value/item/@id=333)">
..html код кнопки добавить...
</xsl:if>

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #2 : 02 Апрель 2012, 09:28:47 »
Спасибо, сейчас попробую.

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #3 : 02 Апрель 2012, 11:05:09 »
все получилось как для карточки товара, так и для общего перечня товаров в подразделе.
Спасибо.

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #4 : 04 Апрель 2012, 14:37:02 »
следом за одним, тянется другое:)

Может кто подсказать, как можно реализовать что бы после нажатия, добавления товара в корзину, рядом появлялась ссылка для "Перейти в корзину" помимо того что добавляется (1)?

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #5 : 04 Апрель 2012, 14:42:14 »
все, что меняется в ссылке после добавления в корзину (если ты работаешь на основе demodizzy и у тебя прикручен ajax работа с корзиной), добавляется в js файле /js/site/basket.js

в строчках
if (detect_options.amount) {
var add_basket_button = jQuery('#add_basket_' + detect_options.id);
if (add_basket_button[0].tagName.toUpperCase() == 'A') {
add_basket_button.text(add_basket_button_text + ' (' + detect_options.amount + ')');
}
else add_basket_button.val(add_basket_button_text + ' (' + detect_options.amount + ')');
}
там же добавь, средствами js, ссылку на корзину, которая будет выводиться около ссылку "положить в корзину", которая фигурирует в приведенном выше коде как add_basket_button

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #6 : 05 Апрель 2012, 09:50:24 »
увы. моих познаний в js и ajax недостаточно что бы самостоятельно что то дописать:(

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #7 : 05 Апрель 2012, 13:00:17 »
ну например такой код

if (detect_options.amount) {
var add_basket_button = jQuery('#add_basket_' + detect_options.id);
if (add_basket_button[0].tagName.toUpperCase() == 'A') {
add_basket_button.text(add_basket_button_text + ' (' + detect_options.amount + ')');
}
else add_basket_button.val(add_basket_button_text + ' (' + detect_options.amount + ')');
        jQuery(add_basket_button).after('<a href="/emarket/cart/">Перейти в корзину</a>');
}


*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #8 : 05 Апрель 2012, 14:07:47 »
использовав предложенный код получилось следующее:

начинаешь кликать добавляя в корзину, то сколько раз кликнул, столько раз и появляется эта ссылка, но при этом если страницу обновить, то ссылка пропадает.
А еще она не появляется в карточке самого товара...

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #9 : 05 Апрель 2012, 14:20:42 »
может прописать как то diplay:none или visibility:hidden существующей кнопке и через JS менять это состояние?

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #10 : 05 Апрель 2012, 14:59:19 »
да, так тоже можно и в самом шаблоне проверять есть ли товар с таким id в корзине и как следствие скрывать или отображать эту кнопку при первичной загрузке страницы с товарами или товаром

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #11 : 05 Апрель 2012, 15:18:10 »
проверять средствами какими?

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #12 : 05 Апрель 2012, 19:44:23 »
в demodizzy уже есть эта проверка в шаблоне для вывода страницы с товаром, там у кнопки в корзину проверяются переменная, которая содержит в себе информацию о товарах в корзине. И если id текущего товара найден среди id товаров, которые в корзине, то выводится  число данного товара в корзине

*

shoto

  • ***
  • 233
  • +4/-0
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #13 : 05 Апрель 2012, 22:45:20 »
Да, действительно:) что может быть проще использования еще раз проверки которая уже делалась.
<xsl:if test="$cart_items/item[page/@id = $document-page-id]">
<p><a href="/emarket/cart/">Перейти в корзину</a></p>
</xsl:if>

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
Re:Скрытие кнопки добавления в корзину
« Ответ #14 : 06 Апрель 2012, 07:04:35 »
для всех кто будет использовать этот кусочек кода.
Не забывайте про то, что переменная $cart_items должна быть определена в начале данного шаблона
<xsl:variable name="cart_items" select="document('udata://emarket/cart/')/udata/items" />