Меню

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

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

Задача состоит в том, чтобы запретить указание количества товара, добавляемого в корзину, в определенных разделах каталога. По умолчанию указание количества товара включено.
 
Если нужно получить все пользовательские поля раздела, не обязательно перечислять все, достаточно указать UF_* в методе CIBlockSection::GetList
Код
$sectionResult = CIBlockSection::GetList(
    false,
    array(
        "IBLOCK_ID" => $arParams["IBLOCK_ID"],
        "ID" => $arResult["SECTION_ID"]
    ),
    false,
    array(
        'ID',
        'UF_*'
    )
);
while ($sectionProp = $sectionResult->GetNext()) {
   print_r($sectionProp);
}   
 
И тот же самый код на D7
Код
use Bitrix\Iblock\SectionTable;
use Bitrix\Main\Loader;

Loader::includeModule("iblock");

$sectionId = SectionTable::getList([
    'filter' => [
        '=IBLOCK_ID' => $arParams['IBLOCK_ID'],
        '=ID' => $arResult['VARIABLES']['SECTION_ID'],
        '=CODE' => $arResult['VARIABLES']['SECTION_CODE'],
    ],
    'select' => [
        'ID',
        'UF_NOT_USE_PRODUCT_QUANTITY'
    ]
])->fetch()['ID'];

if (!empty($sectionId)) {
    $sectionProps = SectionTable::getList([
        'filter' => [
            '=ID' => $sectionId,
            '=IBLOCK_ID' => $arParams['IBLOCK_ID'],
            '=UF_NOT_USE_PRODUCT_QUANTITY' => 1,
        ],
        'select' => [
            'ID',
            'UF_NOT_USE_PRODUCT_QUANTITY'
        ]
    ])->fetch();

    if (!empty($sectionProps) && $sectionProps['UF_NOT_USE_PRODUCT_QUANTITY'] == 1) {
        $arParams['USE_PRODUCT_QUANTITY'] = 'N';
    }
}

Обратите внимание, что в D7 используются другие методы для работы с инфоблоками, а именно класс Bitrix\Iblock\SectionTable для работы с секциями. Для использования данного класса нужно подключить модуль iblock. Также в D7 используются более современные методы получения данных, например метод getList с фильтром и выборкой. Кроме того, в данном примере используется проверка на пустое значение, чтобы избежать ошибок при обращении к несуществующим элементам.
Читают тему (гостей: 1)
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

Блог-note: заметки разработчика

Показать пользователю накопительную скидку за все сделанные заказы, из модуля маркетинга

Задача: показать, текущему авторизованному, пользователю сумму всех выполненных заказов и процент накопительной скидки- ...

Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс

Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без пе...

Удалить всех пользователей которые не делали заказов в магазине 1С-Битрикс

Задача: сайт проработал 7 лет и все время на нем была открытая регистрация, создано много мертвых учетных записей (б...

Получить все товары из всех заказов пользователя. История купленных товаров.

Задача: нужно создать раздел, в персональном разделе пользователя, с историей всех купленных товаров. Не путать с истори...

Номера страниц в Title и Description при постраничной навигации каталога

Задача: Часто SEO-специалисты просят добавить номер страницы, из постраничной навигации, в заголовок и описание раздела ...

Вывести множественное свойство типа файл с названием и весом файла в Битрикс

В этой заметке расскажу как красиво вывести множественное свойство типа файл в инфоблоке 1С-Битрикс. С показом оригиналь...

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

Иногда требуется применить особый стиль к определённой директории сайта или управлять выводом элементов на странице в за...

Добавление в избранное или отложенные, на AJAX из карточки товара

В этой заметке рассакажу как добавлять товары в "Отложенные", для иммитации функционала "Избранное". Для этого будем исп...

Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс

Настройка выгрузки в Яндекс маркет в формате yml, выполняется достаточно просто, кроме одной заморочки: в типовой постав...