Задать вопрос
Контакты
Местоположение
Россия, Кировская обл., Киров (Кировская обл.)

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (15)

Лучшие ответы пользователя

Все ответы (79)
  • Как в битрикс закачать программно 8 тысяч элементов из файла xml или csv?

    1) Воспользоваться стандартным функционалом импорта элементов (Контент -> Инфоблоки -> Импорт -> csv/xml), но при этом файлы должны быть определенной структуры.
    2) Написать собственный скрипт, который вытащит данные из файла и сохранит в базу. Тут уже никаких ограничений нет.
    Ответ написан
    1 комментарий
  • Как в Bitrix проверить есть ли у товара подарки?

    Я как то писал метод, который по id товара возвращает массив id подарков. Можете воспользоваться:
    use Bitrix\Sale\Compatible\DiscountCompatibility;
    use Bitrix\Sale\Basket;
    use Bitrix\Sale\Discount\Gift;
    use Bitrix\Sale\Fuser;
    
    class DiscountsHelper
    {
        /**
         * Возвращает массив id всех доступных подарков для товара
         *
         * @param int $productId - идентификатор товара
         * @return array - массив с id подарков для товара
         */
        public static function getGiftIds($productId)
        {
            $giftProductIds = [];
    
            if (!$productId) {
                return $giftProductIds;
            }
    
            DiscountCompatibility::stopUsageCompatible();
    
            $giftManager = Gift\Manager::getInstance();
    
            $potentialBuy = [
                'ID'                     => $productId,
                'MODULE'                 => 'catalog',
                'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
                'QUANTITY'               => 1,
            ];
    
            $basket = Basket::loadItemsForFUser(Fuser::getId(), SITE_ID);
            
            $basketPseudo = $basket->copy();
    
            foreach ($basketPseudo as $basketItem) {
                $basketItem->delete();
            }
    
            $collections = $giftManager->getCollectionsByProduct($basketPseudo, $potentialBuy);
    
            foreach ($collections as $collection) {
                /** @var \Bitrix\Sale\Discount\Gift\Gift $gift */
                foreach ($collection as $gift) {
                    $giftProductIds[] = $gift->getProductId();
                }
            }
    
            DiscountCompatibility::revertUsageCompatible();
    
            return $giftProductIds;
        }
    }


    Суть в том, что мы создаем пустую псевдокорзину и на основе её определяем, есть ли для переданного товара подарки.
    Ответ написан
    Комментировать
  • Как в bitrix сделать редактирование в визуальном редакторе определенного (контентного) блока?

    Вынесите редактируемый текст во включаемую область и пусть контентщик её отдельно правит:

    $APPLICATION->IncludeComponent('bitrix:main.include','',
        [
            'AREA_FILE_SHOW' => 'file',
            'PATH' => 'путь до файла с включаемой областью',
            'EDIT_TEMPLATE' => ''
        ],
        false
    );
    Ответ написан
    Комментировать
  • Как реализовать блоки с масштабируемыми изображениями на bootstrap?

    если речь идет от bootstrap 3, то там есть специальный класс для масштабирования изображений .img-responsive
    Ответ написан
    Комментировать
  • Что это за скрипт?

    Возможно имеется ввиду вывод строки через echo.
    Если выводится строка в двойных кавычках, то внутри возможно использование переменных, например
    echo "пример $strs"; //будет использована переменная $strs

    Если интерпретатор встречает знак $, он захватывает так много символов, сколько возможно, чтобы сформировать правильное имя переменной. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.
    echo "пример {$str}s"; //будет использована переменная $str
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (5)