Ответы пользователя по тегу 1С-Битрикс
  • Битрикс: На складах есть, а доступное количество 0. Почему?

    @sanshung
    1С-Битрикс программист
    Скрипт который решает эту проблему
    AddEventHandler("catalog", "OnStoreProductUpdate", ["StoreProduct", "update"]);
    AddEventHandler("catalog", "OnStoreProductAdd", ["StoreProduct", "update"]);
    AddEventHandler("catalog", "OnBeforeStoreProductDelete", ["StoreProduct", "delete"]);
    
    class StoreProduct
    {
        public static function update($id, $arFields)
        {
            $allAmountProduct = 0;
            $obStoreProduct
                = \Bitrix\Catalog\StoreProductTable::GetList(['filter' => ['PRODUCT_ID' => $arFields['PRODUCT_ID']]]);
            while ($arStoreProduct = $obStoreProduct->Fetch()) {
                if(($id == 0 && $arFields['STORE_ID'] != $arStoreProduct['STORE_ID']) or $id > 0) {
                    $allAmountProduct = $allAmountProduct + $arStoreProduct['AMOUNT'];
                }
            }
            $arFieldsProduct = array(
                "QUANTITY" => $allAmountProduct,
            );
            \Bitrix\Catalog\Model\Product::update($arFields['PRODUCT_ID'], $arFieldsProduct);
        }
        
        public static function delete($id)
        {
            $arFields = \Bitrix\Catalog\StoreProductTable::getRowById($id);
            if ($arFields != null) {
                self::Update(0, $arFields);
            }
        }
    }
    Ответ написан
    Комментировать
  • Белый экран битрикса и ошибки как исправить?

    @sanshung
    1С-Битрикс программист
    Non-static method CSiteCorporate::ShowPanel() should not be called statically (0)

    Метод не является статичным.
    Допишите в методе public static
    Ответ написан
    Комментировать
  • Как подписаться на событие подписки на товар?

    @sanshung
    1С-Битрикс программист
    use \Bitrix\Main\Entity;
    use \Bitrix\Main\EventManager;
    use \Bitrix\Main\Diag\Debug;
    
    $eventManager = EventManager::getInstance();
    
    $eventManager->addEventHandler(
        "catalog",
        "\Bitrix\Catalog\Subscribe::onAdd",
        ['CustomSubscribeProduct', 'OnSubscribeSubmit']
    );
    class CustomSubscribeProduct{
        public static function OnSubscribeSubmit(Entity\Event $event)
        {
            $result = new Entity\EventResult;
            $data = $event->getParameter("fields");
            Debug::writeToFile($data, '$data', 'OnSubscribeSubmit.txt');
        }
    }


    результат в OnSubscribeSubmit.txt
    Ответ написан
    Комментировать
  • Call to undefined function mb_orig_strpos?

    @sanshung
    1С-Битрикс программист
    1. посмотрите в сторону php.ini или .htaccess
    mbstring.func_overload = 2
    2. Отключите проактивный фильтр
    3. mbstring.func_overload = 0
    4. обновите битрикс
    Ответ написан
    Комментировать
  • Почему CCatalogDiscount::GetDiscountByProduct в битрикс возвращает пустой массив?

    @sanshung
    1С-Битрикс программист
    \Bitrix\Main\Loader::includeModule('catalog');
    global $USER;
    $arItem["ALL_DISCOUNTS"] = CCatalogDiscount::GetDiscountByProduct(
    $arItem['ID'],
    $USER->GetUserGroupArray(),
    "N",
    array(2),
    "cm"
    );

    работает
    Ответ написан
    Комментировать
  • Главное горизонтальное меню в Битрикс?

    @sanshung
    1С-Битрикс программист
    Скорей всего оно лежит в bitrix\templates\.default\components\bitrix\menu\templates\catalog_vertical\template.php
    А пункты меню лежат в корне сайта /.top.menu.php
    Ответ написан
    Комментировать
  • Как правильно настроить ЧПУ?

    @sanshung
    1С-Битрикс программист
    нужно добавить префикс
    например для раздела #SECTION_CODE_PTH#/
    для элемента pref-#ELEMENT_ID#/

    368d7282afb8497e8806ab90591b269f.png
    Ответ написан
  • Битрикс ломает шаблон после выхода из админки. Что это такое?

    @sanshung
    1С-Битрикс программист
    <?$APPLICATION->ShowPanel();?> нужно вынести в body
    Вынести из head

    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
       <meta name="viewport" content="width=device-width,initial-scale=1">
      <title>Site.ru: <?$APPLICATION->ShowTitle()?></title>
       <?$APPLICATION->ShowMeta("keywords")?>
    <?$APPLICATION->ShowMeta("description")?>
      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
      <?$APPLICATION->ShowCSS();?>
      <?$APPLICATION->ShowHead()?>
    
    </head>
    
    <body>
    <?$APPLICATION->ShowPanel();?>
    Ответ написан
    Комментировать
  • Не работает авторизация на 1С Bitrix?

    @sanshung
    1С-Битрикс программист
    Доступ к фесбуку есть?
    Возможно в фесбуке снесли настройки
    Ответ написан
  • Как записать файл в определенную директорию в битрикс?

    @sanshung
    1С-Битрикс программист
    попробуй указать полный пусть
    $_SERVER["DOCUMENT_ROOT"]

    function GetImageByURL($url,$sid) { 
        $path=$_SERVER["DOCUMENT_ROOT"]."/wav/".$sid . ".wav";
        //$path=$sid . ".wav";
        $opts = array(CURLOPT_URL => $url, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10); 
        $ch = curl_init(); 
        curl_setopt_array($ch, $opts); 
        $result = curl_exec($ch);
        if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200 ) { 
            $file = $path;
            file_put_contents($file, $result);
        } 
        curl_close($ch); 
        return $path;
    }


    и проверь доступы к папке
    Ответ написан
  • Почуму госконторы требуют сайт на битриксе?

    @sanshung
    1С-Битрикс программист
    В первую очередь безопасность и постояная поддрежка продукта
    https://www.1c-bitrix.ru/products/cms/certificates...
    Сертифицировано ФСТЭК
    Сертификат соответствия № 3260 ФСТЭК России
    Сертификат ФСТЭК - Федеральная служба по техническому и экспортному контролю России) подтверждает, что продукт соответствует требованиям руководящего документа «Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» (Гостехкоммиссия, 1992) по 5 классу защищенности.

    Продукты и решения компании «1С-Битрикс» получили новые сертификаты ФСТЭК России. Подробнее
    Защищенное веб-приложение
    Защищенное веб-приложение
    Сертификат выдан компанией Positive Technologies, которая осуществила аудит эффективности новых функций безопасности продукта «1С-Битрикс: Управление сайтом 8». Тестирование встроенных механизмов защиты продукта подтвердило их соответствие требованиям Web Application Firewall Evaluation Criteria международной организации Web Application Security Consortium.

    Совместим с eToken PASS
    Сертификат совместимости электронных ключей eToken PASS
    Сертификат выдан на основании результатов сертификационных испытаний, проведенных компаниями ЗАО «Аладдин Р.Д.» и «1С-Битрикс». Сертификат удостоверяет корректность работы электронных ключей eToken PASS производства ЗАО «Аладдин Р.Д.» с программным продуктом «1С-Битрикс: Управление сайтом» версии 8.х.

    Проверено хакерами
    Проверено хакерами на CC2009
    На фестивале хакеров CC9 компании «1С-Битрикс» и Positive Technologies организовали конкурс, участникам которого было необходимо суметь обойти систему «Проактивной защиты» сайта и воспользоваться заранее подготовленными уязвимостями разных типов. С задачей конкурса – обойти фильтр «Проактивной защиты» (Web Application Firewall) и проэксплуатировать заранее подготовленные на сайте уязвимости (SQL-Injection, Cross-Site Scripting, Path Traversal и Local File Including) – пытались справиться более 600 специалистов. В течение двух суток работы фестиваля было зарегистрировано и отражено более 25000 атак.
    Ответ написан
    Комментировать
  • Как в битриксе прикрепить изображения к категориям товаров?

    @sanshung
    1С-Битрикс программист
    Заходим в список разделов.
    Жмем изменить раздел.
    Переходим на вкладку Доп. поля.
    Жмем на ссылку "Добавить пользовательское свойство" и создаем свойства типа фаил, ставим галочку множественное.

    После выводим
    <?
    CModule::IncludeModule('iblock');
    $section_props = CIBlockSection::GetList(array(), array('IBLOCK_ID' => IBLOCK_ID, 'ID' => SECTION_ID), 
                                   true, array("UF_*"));
    $props_array = $section_props->GetNext(); 
    ?>
    Ответ написан
    Комментировать
  • Как привести Битрикс до нормального состояния?

    @sanshung
    1С-Битрикс программист
    У каждой crm свой подход.
    Просто жить с этим.

    Видео на yotube в помощь
    https://www.youtube.com/results?search_query=bitri...

    И вот еще у них на канале курсы
    https://www.youtube.com/watch?v=TN5XmAtj6dQ
    Ответ написан
  • Как вывести символьный код компонента в Битрикс?

    @sanshung
    1С-Битрикс программист
    Потому что в result_modifier.php у тебя написано
    <? $arResult["~ITEMS"][$key]["ITEMS"][]= $arItem;?>


    а в template.php ты выводишь
    <?foreach($arResult["~ITEMS"] as $key=>$arSection):?>


    в template.php нужно выводить тогда так
    <?foreach($arResult["~ITEMS"] as $key=>$arSection1):?>
    <?foreach($arSection1 as $key=>$arSection):?>
        <div class="cont <?=$arSection["CODE"]?>">
            <div class="flaty">								 				
              <p><?=$arSection["NAME"]?></p>
            </div>
            <img class="shadow" src="/i/shadow.png" alt="">
        </div>
      <?endforeach?>
      <?endforeach?>


    или исправить в result_modifier.php
    это
    <? $arResult["~ITEMS"][$key]["ITEMS"][]= $arItem;?>

    на
    <? $arResult["~ITEMS"][$key] = $arItem;?>
    Ответ написан
    Комментировать