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

Достижения

Все достижения (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
    );
    Ответ написан
    Комментировать
  • Как добавить новое родительское меню в админку Bitrix?

    Такую кнопку можно добавить через событие OnBuildGlobalMenu.
    Для этого регистрируем обработчик, например в init.php
    AddEventHandler('main', 'OnBuildGlobalMenu', 'addMenuItem');

    После добавляем новую кнопку в функции:
    function addMenuItem(&$aGlobalMenu, &$aModuleMenu)
    {
        global $USER;
    
        if ($USER->IsAdmin()) {
    
            $aGlobalMenu['global_menu_custom'] = [
                'menu_id' => 'custom',
                'text' => 'Bitrix Studio',
                'title' => 'Bitrix Studio',
                'url' => 'settingss.php?lang=ru',
                'sort' => 1000,
                'items_id' => 'global_menu_custom',
                'help_section' => 'custom',
                'items' => [
                    [
                        'parent_menu' => 'global_menu_custom',
                        'sort'        => 10,
                        'url'         => 'your_new_page.php?lang=ru',
                        'text'        => 'your_new_page',
                        'title'       => 'your_new_page',
                        'icon'        => 'fav_menu_icon',
                        'page_icon'   => 'fav_menu_icon',
                        'items_id'    => 'menu_custom',
                    ],
                    [
                        'parent_menu' => 'global_menu_custom',
                        'sort'        => 20,
                        'url'         => 'your_new_page_2.php?lang=ru',
                        'text'        => 'your_new_page_2',
                        'title'       => 'your_new_page_2',
                        'icon'        => 'fav_menu_icon_2',
                        'page_icon'   => 'fav_menu_icon_2',
                        'items_id'    => 'menu_custom',
                    ],
                ],
            ];
    
        }
    }
    Ответ написан
    6 комментариев
  • Как реализовать блоки с масштабируемыми изображениями на bootstrap?

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

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

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