Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Если товар в корзине, поменять значение input на "В корзине"

Просмотров: 14907 Если Вам нужно поменять текст на кнопке, добавляющей товар в корзину, достаточно воспользоваться методом API "CSaleBasket::GetList - который возвращает результат выборки записей из корзины" и немножко js-а
Для данной заметки есть продолжение, под новые шаблоны "bootstrap_v4" Перейти

Если Вам нужно поменять текст на кнопке, добавляющей товар в корзину, достаточно воспользоваться методом API "CSaleBasket::GetList - который возвращает результат выборки записей из корзины" и немножко js-а

Меняем value в input при клике

Итак, у нас есть input c type="submit" - который отправляет товар в корзину


 <input 
    type="submit" 
    name="<? echo $arParams["ACTION_VARIABLE"] . "ADD2BASKET" ?>" 
    value="В корзину" />

Наша задача, при клике на эту кнопку, менять текст в value с "В корзину" на "В корзине". Достаточно воспользоваться javascript функцией onclick.
onclick="if (this.value == 'В корзину') this.value = 'В корзине';"
Просто проверяем: Если в value "В корзину", при событии клика на input поменять на "В корзине"


 <input
     type="submit"
     name="<? echo $arParams["ACTION_VARIABLE"] . "ADD2BASKET" ?>"
     value="В корзину"
     onclick="if (this.value == 'В корзину') this.value = 'В корзине';"
/>

Применяем метод CSaleBasket::GetList

А теперь, если мы перезагрузим страницу с товаром- надпись снова сменится на "В корзину", хотя на самом деле, товар все таки в корзине.

Добавляем следующий код, он, методом CSaleBasket::GetList - проверяет есть ли данный товар (опредеяем по ID товара) в корзине. И если товар есть и он не в отложенных, а именно в готовых к оформлениею, в переменную $itInBasket - передается ID товара.

$dbBasketItems = CSaleBasket::GetList(
    array(
        "NAME" => "ASC",
        "ID" => "ASC"
    ),
    array(
        "FUSER_ID" => CSaleBasket::GetBasketUserID(),
        "LID" => SITE_ID,
        "PRODUCT_ID" => $arResult['ID'], //ID текущего товара
        "ORDER_ID" => "NULL",
        "DELAY" => "N" //Исключая отложенные
    ),
    false,
    false,
    array("PRODUCT_ID")
);
while ($arItemsBasket = $dbBasketItems->Fetch()) {
    $itInBasket = $arItemsBasket['PRODUCT_ID'];
}

А на input навешиваем условие, провяющее переменную $itInBasket на не пустоту и выводящее соответствующую текстовку. Подсказки в коде:

<input 
    type="submit" 
    name="<? echo $arParams["ACTION_VARIABLE"] . "ADD2BASKET" ?>" 
    value="В корзину"
<? if (isset($itInBasket)) { //Если этот товар есть в корзине ?>
    value="В корзине"
<?} else { //Если товара нет (переменная пустая) ?>
    value="В корзину"
<?}?>
onclick="if (this.value == 'В корзину') this.value = 'В корзине';"/>

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс