Ответы пользователя по тегу 1С-Битрикс
  • Как исправить ошибку "недопустимый url в поле id", которую выдаёт Гугл вебмастер?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Что то мне подсказывает, что у вас проблема с микроразметкой. Используйте верные теги.
    Кроме того, не плохо и саму схему показать, что именно туда передаете.
    См. тут schema.org
    Ответ написан
    Комментировать
  • Bitrix и модуль эквайринга СберБанк 2.0?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    А вы не ищите легких путей?
    На странице возврата в случае успешной оплаты используйте
    CSaleOrder::StatusOrder
    или
    Поскольку сейчас используется вторая версия модуля, а у меня стоит первая версия, которая больше не обновляется, но работает отлично, то в файл
    bitrix.modules.sberbank.ecom.payment.result.php можно внести правки , строка 97, если у вас тоже не ecom2.
    $title = GetMessage('RBS_PAYMENT_ORDER_THANK');
                if ($response['orderStatus'] == 1) {
                    $message = GetMessage('RBS_PAYMENT_ORDER_AUTH', array('#ORDER_ID#' => $orderNumberPrint));
                } else {
                    $message = GetMessage('RBS_PAYMENT_ORDER_FULL_AUTH', array('#ORDER_ID#' => $orderNumberPrint));
                }
    
                $title = GetMessage('RBS_PAYMENT_ORDER_THANK');
                $message = GetMessage('RBS_PAYMENT_ORDER_PAY1', array('#ORDER_ID#' => $orderNumberPrint));
    if (!CSaleOrder::StatusOrder($order_number, "OP")) echo "";

    Зачем ловить события?
    Ответ написан
  • Как в битриксе выгрузить остаток товара с 1с?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Когда мне это всё надоедает, то я делаю так:
    test.com/bitrix/admin/1c.php?ID=19220&QUANTITY=10
    <?
    require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
    Cmodule::IncludeModule('catalog');
    $iOstatok = $_GET["QUANTITY"];
    $iElementID = $_GET["ID"];
    $el = new CIBlockElement;
    $arFields = array("QUANTITY" => $iOstatok);
    CCatalogProduct::Update($iElementID, $arFields);
    ?>

    Без всякого обмена.
    Ответ написан
    Комментировать
  • Как в битриксе изменить шаблон одной страницы?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    /bitrix/templates/НАЗВАНИЕШАБЛОНА/components/bitrix/....
    По этому пути ищите ваш шаблон, скорее всего в папке catalog.section, но у всех по разному, кто как создавал))
    Далее нужно найти в шаблоне компонента файл template.php
    В него вписать
    if (CSite::InDir('/papka/')){
            ?>ваш контент<?
    }
    Ответ написан
    Комментировать
  • Возможно ли изменить высоту списка элементов в админке Битрикса?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    /bitrix/components/bitrix/main.ui.grid/templates/.default/style.css
    .main-grid-row-body {
        height: 200px;
        transition: opacity, border 200ms;
    }

    Но изображение скорее всего не изменится, потому, что оно ресайзится при загрузке.
    Ответ написан
    Комментировать
  • Как сделать автоматическое добавление выбранных подарков в корзину?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Добавить подарок
    Bitrix\Catalog\Product\Basket::addProduct($fields);

    Получить корзину
    Sale\Order::load($orderId)->getBasket();
    Ответ написан
    Комментировать
  • Как в bitrix вывести результаты обработки формы без перезагрузки событий?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Как раз вот первая форма работает по ajax, а ваша вторая без него - потому и страница перезагружается и шапка с футером не выводится. Код надо смотреть.
    Ответ написан
    1 комментарий
  • Как в битриксе сделать добавление инфоблока не из админки?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Добавляйте элементы в инфоблок через API битрикса. Собираете все данные формы (тексты, инпуты) и отправялете пост запросом, можно через ajax.
    Для создания code можно использовать php
    function rus2translit($string) {
        $converter = array(
            'а' => 'a',   'б' => 'b',   'в' => 'v',
            'г' => 'g',   'д' => 'd',   'е' => 'e',
            'ё' => 'e',   'ж' => 'zh',  'з' => 'z',
            'и' => 'i',   'й' => 'y',   'к' => 'k',
            'л' => 'l',   'м' => 'm',   'н' => 'n',
            'о' => 'o',   'п' => 'p',   'р' => 'r',
            'с' => 's',   'т' => 't',   'у' => 'u',
            'ф' => 'f',   'х' => 'h',   'ц' => 'c',
            'ч' => 'ch',  'ш' => 'sh',  'щ' => 'sch',
            'ь' => '\'',  'ы' => 'y',   'ъ' => '\'',
            'э' => 'e',   'ю' => 'yu',  'я' => 'ya',
            
            'А' => 'A',   'Б' => 'B',   'В' => 'V',
            'Г' => 'G',   'Д' => 'D',   'Е' => 'E',
            'Ё' => 'E',   'Ж' => 'Zh',  'З' => 'Z',
            'И' => 'I',   'Й' => 'Y',   'К' => 'K',
            'Л' => 'L',   'М' => 'M',   'Н' => 'N',
            'О' => 'O',   'П' => 'P',   'Р' => 'R',
            'С' => 'S',   'Т' => 'T',   'У' => 'U',
            'Ф' => 'F',   'Х' => 'H',   'Ц' => 'C',
            'Ч' => 'Ch',  'Ш' => 'Sh',  'Щ' => 'Sch',
            'Ь' => '\'',  'Ы' => 'Y',   'Ъ' => '\'',
            'Э' => 'E',   'Ю' => 'Yu',  'Я' => 'Ya',
        );
        return strtr($string, $converter);
    }

    Вот api
    https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    и вот еще примеры
    https://camouf.ru/blog-note/2449/
    Форма у вас уже есть, просто создайте еще один файл для обработки запроса по примерам выше.

    Вот ajax
    <form id="form_id" method="post">
    //инпуты и тексты, субмит
    </form>
    <script type="text/javascript">
    $(function () {
                $('#form_id').submit(function(e){
                    e.preventDefault();
                    var data = $(this).serialize();
                    $. ajax ({
                        url:'/ajax.php',
                        type:'post',
                        data:data,
                        success:function(res){
                            $('#result').html(res);
                        }
                    })
                })
            })  
        </script>
    Ответ написан
    Комментировать
  • Есть ли смысл изучать 1с битрикс?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Я бы не рассматривал Битрикс только по принципу "Там зарплаты больше...сказала одна бабка..."
    Если Вам Битрикс интересен, то учите, почему бы и нет.
    Я работаю с Битриксом уже 10 лет и о - до сих пор учу и до сих пор спрашиваю что да как сделать. И это не потому, что знания не даются, а потому, что, как выше заметили - это огромный API набор инструментов.
    Для своих проектов я не пользуюсь компонентами, а делаю все чисто кодом и api.
    Второй момент - сегодня Битрикс нужно рассматривать как CMS для магазинов, даже сама компания давно забила на остальные свои модули, такие как форум, опросы и прочее.
    Третий момент, если вы собрались зарабатывать на Битриксе, то нужно понять на чем именно - внедрение решений, разработка с нуля, и написание своих модулей с последующей продажей?
    В большинстве случаев, заказчиков не устраивает решения Битрикса или сторонних компаний. Заказчикам нужно, чтобы магазин на битриксе был заточен именно под их задачи. А тут же и не только Битрикс, а и php, js, api.
    И еще - не слушайте людей, которые трындят, что Битрикс низкокачественное Г. Просто они не вникли в него и уверены, что отдельные задачи можно делать в других CMS. Возможно это и так, но только для новостников, блогов, справочников и ландингов. Для крупных мастабируемых проектов в связке 1с-предприятие - лучше Битрикса пока ничего не придумали. Хотя бы посмотрите клиентуру компании и все станет ясно.
    Про ЗП. Тут все как всегда - от минус бесконечности до плюс бесконечности. Разные мы все, как и проекты тоже разные.
    Ответ написан
    4 комментария
  • Можно ли в sale.order.ajax сделать заказ незарегистрированному пользователю?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    //скрытно регить на этапе оформления
    $random = randString(10, array(
      "ABCDEFGHIJKLNMOPQRSTUVWXYZ"
    ));
    $mailusers = $random.'@test.com';
    global $USER;  $arResult = $USER->Register($random, $random, "", $random, $random, $mailusers);
    ShowMessage($arResult);
    $USER->Authorize($USER->GetID());
    //на странице завершения заказа в конце
    $USER->Logout();
    Ответ написан
    4 комментария
  • Некешируемая область в шаблоне компонента bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <!--Скрытый див, где-то на странице.-->
       <div style="display: none;" id="from"><?=getPrice(...);?></div>
            ...  
       <!--пустой див в закэшированном компонете-->
       <div style="display: block;" id="to"></div>    
        <script type="text/JavaScript">        
            document.getElementById('to').innerHTML = document.getElementById('from').innerHTML;
        </script>

    Или:
    marketplace.1c-bitrix.ru/solutions/askaron.include
    Ответ написан
    1 комментарий
  • Какой самый грамотный путь сортировки одновременно по нескольким параметрам в элементах раздела?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Как по вашему - можно одновременно показать товары по цене и по популярности? Никак! Либо сначала с низкой ценой, потом при одинаковой цене популярные...)
    Ответ написан
    Комментировать
  • В чем ошибка в сортировке товаров по цене?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Пример:
    <?
    $sortField = 'shows'; // поле сортировки по умолчанию
    $sortOrder = 'DESC'; // направление сортировки по умолчанию
    if (
        isset($_GET["sort"]) && isset($_GET["method"]) && (
                $_GET["sort"] == "name" ||
                $_GET["sort"] == "catalog_PRICE_1" ||
                $_GET["sort"] == "shows" ||
                $_GET["sort"] == "created")){
          $sortField = $_GET["sort"];
          $sortOrder = $_GET["method"];
      }
    ?>


    $res = CIBlockElement::GetList(Array($sortField => $sortOrder), Array($arrFilter, $arFilter), false, Array("nPageSize"=>19), $arSelect);

    <div class="sort">Сортировка по:
        <a href="?sort=catalog_PRICE_1&method=desc">цене</a> 
        <a href="?sort=shows&method=desc">популярности</a> 
        <a href="?sort=created&method=desc">новинкам</a>
        <a href="?sort=name&method=asc">названию</a>
    </div>
    Ответ написан
    Комментировать
  • Битрикс, я сдаюсь CIBlockElement::SubQuery?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    $arSelect = Array("ID", "NAME", "PROPERTY_c_serv", "PROPERTY_P_CAT_VALUE");
    $arFilter = Array("IBLOCK_ID" => "10");
    $res = CIBlockElement::GetList(Array(), $arFilter, false, array("nPageSize" => 25), $arSelect);
    while($arFields = $res->fetch()){
    $ID = $arFields["PROPERTY_P_CAT_VALUE"];
    $rest = CIBlockElement::GetByID($ID);
    	if($ar_rest = $rest->GetNext())
      		echo $ar_rest['NAME']; // Название элемента 
    }

    И пишите символьные коды в системе заглавными буквами
    Ответ написан
  • Битрикс, как увеличить время активности пользователя?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Убрать в php
    session.gc_maxlifetime = 1440

    Добавить
    session.gc_maxlifetime = 50400
    Ответ написан
    Комментировать
  • С чем связана ошибка в битрикс?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Добрый день. Вероятно, ошибка связана с некешированными данными в компонентах, у вас видимо очень много свойств и запросов к базе данных. Уменьшите количество выводимых элементов. К примеру такая ошибка бывает, когда в админке просматриваешь список элементов, в полях выведены множества свойств, а результатов на страницу 500, а не 20 или 50)))
    Ответ написан
    Комментировать
  • Перенос с одной VDS на другую, реально ли?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    После заказа нового сервера, накатываете isp manager, сервер на дебиан 9 имеет свежее ПО, например Мария10 и php7.3
    После установки, нужно завести домен, отредактировать nginx, php, mysql. Это от силы 30 минут, включая настройку SSL.
    Битрикс переносится штатно. Делаете копию, скачиваете архив, закачиваете на новый сервер, через restore.php разворачиваете.
    Возиться с полными бекапами VDS...такая себе затея.
    Ответ написан
    Комментировать
  • Шаблон на мобильных устройствах не адаптируется по ширине. Что не так?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Если Вы задаете такой вопрос, то скорее всего вы не знаете как это исправить, и нашими решениями даже не воспользуетесь.
    В шаблоне битрикса файлы css могут быть разбросаны где угодно, от общего шаблона до шаблонов компонентов.
    Я вам так пишу, потому, что как выше заметили, тут очень много править надо.
    В основном width у вас идет фиксированная. Попробуйте обратиться к фрилансерам.
    Ответ написан
    Комментировать
  • Как посчитать кол-во товаров на странице?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    $key=1;
    while ($elem = $el->GetNext()){
        global $elements;
        $elements[] = $elem;
    Skey++;
    }
    echo $key;
    Ответ написан
  • 1С-Битрикс. Как получить полную ссылку на раздел?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <? require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
    $tree = CIBlockSection::GetTreeList(
    $arFilter1 = array('IBLOCK_ID' => 13, 'ACTIVE' => 'Y', 'UF_MAIN_CHECK' => '1',"TOP_DEPTH" => '1'),
    $arSelect=Array()
    );
    while($section = $tree->GetNext()) {
    echo 'http://test.com/'.$section[CODE].'/';
    };
    ?>

    Какие еще ссылки разделов? Ссылки разделов это набор символьных кодов названий разделов
    Ответ написан
    Комментировать