Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Павел Сидоров

  • 0
    вклад
  • 63
    вопроса
  • 13
    ответов
  • 31%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как провести замену по маске или php преобразование?

    rozhnev
    Slava Rozhnev @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Например так:
    <?php
    // Есть товар "Своя Кружка" 1"
    $item = '"Своя Кружка" 1"';
    // Мне нужно преобразовать в «Своя Кружка» 1'
    $item_renamed = preg_replace('/"(\W+)" (\d+)"/m', "«$1» $2'", $item);
    
    echo $item_renamed;


    share PHP code
    Ответ написан 24 мар.
    Комментировать
    Нравится 1 Комментировать
  • Как снять ограничения на количество символов в тегах битрикс?

    udjin123
    Евгений @udjin123
    Bitrix, Symfony, Golang, React
    Ограничение на уровне базы данных mysql, в таблице b_iblock_elements поле TAGS имеет тип varchar(255)
    Можно изменить длину запросом к базе, например увеличить до 500
    ALTER TABLE b_iblock_elements ALTER COLUMN TAGS VARCHAR (500) DEFAULT NULL;

    Но последствия предсказать сложно, возможно в коде битрикса еще есть ограничения.

    Советую не экспериментировать на рабочем проекте, сначала сделать бэкап.
    Ответ написан 11 мар.
    Комментировать
    Нравится 1 Комментировать
  • Можете посоветовать ТСД?

    StupidQuestion
    Александр @StupidQuestion
    Задаю глупые вопросы...
    Вроде всегда спрос на Motorolla и Symbol. Модели не знаю.
    Ответ написан 29 янв.
    1 комментарий
    Нравится 2 1 комментарий
  • Как изменить значение поля сорт. у элемента свойства типа список?

    PetrPo @PetrPo
    $valueId = 1;
    $sort = 1;
    CIBlockPropertyEnum::Update($valueId, ['SORT' => $sort]);
    Ответ написан 19 янв.
    Комментировать
    Нравится 1 Комментировать
  • Как получить доступ к свойству типа "список" в битриксе?

    ettaluni
    ettaluni @ettaluni
    ERROR MEME
    arParams - массив свойств компонента, лови его до выполнения кода component.php и пере-определяй. А так легче в tamplate.php сортировку сделать как нужно
    Ответ написан 19 янв.
    1 комментарий
    Нравится 1 1 комментарий
  • Как обработать следующее сообщение от пользователя telegramm bot?

    RobiRobin @RobiRobin
    1. Хранить где-то (например в БД) предыдущий вопрос и туда поставить
    2. Сделать БД со всеми данными пользователя, как только он отвечает на вопрос про имя - класть имя туда и брать оттуда при необходимости
    Ответ написан 28 дек. 2020
    2 комментария
    Нравится 1 2 комментария
  • Почему начинает считать избронное начиная с двух, а не по порядку?

    MrDecoy
    Вадим @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    $('#favour_in .goods_icon-counter').html(mas.length - 1); // mas.length == 3.


    Вы когда массив создаёте из строки, то делаете:
    '|' + id +'|', а потом делаете .split('|')
    Вот и получаются лишние элементы, потому что черта и перед id и после.
    '|228|'.split('|') --> ['', '228', ''] // length - 3.
    Ответ написан 10 дек. 2020
    7 комментариев
    Нравится 1 7 комментариев
  • Почему считает избранное начиная со второго товара?

    v3shin
    v3shin @v3shin
    Веб-шаман
    В activZacladca у вас проход по mas ведется с 0. Просто сделайте после forEach'а:
    $('#favour_in .goods_icon-counter').html(mas.length-1);
    Ответ написан 26 нояб. 2020
    3 комментария
    Нравится 1 3 комментария
  • Как исправить баг, не открывается меню на мобильных устройствах?

    T1MER
    Тимур Гафиулин @T1MER
    Frontend разработчик
    У тебя два элемента с классом hamburger.

    При чем на мобилке отображается второй.

    Что-то мне подсказывает, что слушатель на клик у тебя висит на первом.
    Ответ написан 20 окт. 2020
    4 комментария
    Нравится 1 4 комментария
  • Как распарсить json чтобы не было кавычек у координат?

    iResource
    Alexey Gnevyshev @iResource
    Разработчик IR XML2Ozon
    Наверно, это потому что данные с координатами передаются как строка, а не как массив.
    Поэтому при кодировании добавляются кавычки.
    Попробуйте изначально передать координаты как многомерный массив, а не строку.
    Ответ написан 15 окт. 2020
    22 комментария
    Нравится 2 22 комментария
  • Где ошибка в коде при записи в переменную?

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

    Это совсем некрасиво:
    spoiler
    $data_for_write ='
      {
        "type": "FeatureCollection",
        "metadata": {
          "name": "Карта торгового центра",
          "creator": "SWP",
          "description": ""
        },
      '.
        while($ob = $res->GetNextElement()){
          $arFields = $ob->GetFields();
          $arProps = $ob->GetProperties();
      .'
          "features": [{

    Сначала соберите всё в массив:
    Пример
    spoiler
    $data = array('items' =>array(
    array(
    'description' => $description, 
    'category_id' => $category_id, 
    'name' => 'Карта торгового центра',
    'offer_id' => $offer_id,
    'price' => $price,
    'old_price' => $old_price,
    Ответ написан 14 окт. 2020
    6 комментариев
    Нравится 1 6 комментариев
  • Как мне нарисовать свою схему помещения в яндекс картах?

    freeExec
    freeExec @freeExec
    Участник OpenStreetMap
    Так-то она рисуется в НЯК, но абы что так рисовать нельзя. Только крупные торговые центры и вроде бы вокзалы. Т.е. нарисовать свой кабинет на работе не выйдет.
    https://yandex.ru/support/nmaps/indoor.html

    П.С.
    Ах, да, в вашем примере это просто картинка и geojson с квадратиками для наведения мышкой.
    Ответ написан 14 сент. 2020
    10 комментариев
    Нравится 1 10 комментариев
  • Есть ли в api битрикса ресайз фотографии под высоту и ширину?

    PetrPo @PetrPo
    Первый вариант
    Делай CFile::ResizeImageGet BX_RESIZE_IMAGE_PROPORTIONAL_ALT и выставляй ширину большую, типа 10000, а высоту = 520, тогда всегда будет действовать ограничение по высоте 520
    $imageId = 1;
    
    $arImage = CFile::ResizeImageGet($imageId, array("width" => 10000, "height" => 520), BX_RESIZE_IMAGE_PROPORTIONAL_ALT, false);


    второй вариант
    могу предложить так это css
    .owl-item>div>div>a{
        position: relative;
        padding-top: 80%;
        display: block;}
    
    .owl-item>div>div>a>img{
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        object-fit: cover}

    только от знака > избавься потом, класс какой-нибудь на ссылку повесь. И вот с этим padding-top: 80% можешь поиграть - меньше/больше поделать
    Ответ написан 04 сент. 2020
    Комментировать
    Нравится 1 Комментировать
  • Как получить последний добавленный элемент в инфоблок?

    Алексей @alexprowars
    CIBlockElement::GetList(Array("ID" => "DESC"), $arFilter, false, array("nTopCount" => 1))
    Ответ написан 03 авг. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Почему данные по корзине то приходят, то нет?

    PetrPo @PetrPo
    Ориентир - у тебя несколько ajax-ов срабатывает. js - асинхронный. И хоть ты и думаешь, что первый раз у тебя правильно работает, а второй не правильно - это не так, в одной из n-цать попыток первый раз тоже сработает неправильно
    1-ый ajax
    $.ajax({
                    url: '/bitrix/templates/dveri/ajax/basket.php'

    2-ой ajax
    $.get('/bitrix/templates/dveri/ajax/count_basket.php').done(function(data){


    По-умолчанию $.ajax параметр async = true, поэтому у тебя есть 3 варианта решения проблемы
    1. Переделать вызов функции $.get на $.ajax и в обоих вызовах добавить параметр
    $.ajax({
    //.............
    async: false,
    //.............

    2. Перенести вызов функции $.get в success $.ajax({
    3. Сделать через async await (равносильно, если прописать промисы, но это не круто), выглядит это так
    //.............
     $("#send").on("click", async function () {
    //.............
    await  $.ajax({
    //.............
    await $.get('/bitrix/templates/dveri/ajax/count_basket.php').done(function(data){
    //.............
    Ответ написан 17 июл. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как зная ID товара вывести ID всех комплектов в которых находится этот товар?

    kopylov_vlad
    Владислав Копылов @kopylov_vlad Автор вопроса
    Если кому интересно, то вот код:
    <?
      //имея id товара получить id комплекта в котором есть этот товар
    	Cmodule::IncludeMOdule('catalog');
    	$rsElem = CCatalogProductSet::getList(
    		array(),
    		array('TYPE' => CCatalogProductSet::TYPE_SET, 'ITEM_ID' => $ElementID),
    		false,
    		false,
    		array('SET_ID', 'OWNER_ID', 'ITEM_ID')
    	);
    	while ( $set = $rsElem->Fetch() ){
    		echo $set['OWNER_ID'];
    	}
    ?>
    <?
    	//по id комплекта берем id элементов
    	Cmodule::IncludeMOdule('catalog');
    	$arSets = CCatalogProductSet::getList(
    		array(), array( "TYPE" => 1, "OWNER_ID" => $set["OWNER_ID"] ), false, false, array()
    	);
    	while( $set2 = $arSets->Fetch() ){
    		if( $set2["OWNER_ID"]!=$set2["ITEM_ID"]  ){
        echo $set2["ITEM_ID"];
    		}
    	}
    ?>
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 2 Комментировать
  • Где в скрипте код который изменяет цену в зависимости от выбора SKU?

    PetrPo @PetrPo
    changeInfo-->this.setPrice
    Ответ написан 10 июл. 2020
    8 комментариев
    Нравится 1 8 комментариев
  • API bitrix почему не добавляется товар в корзину?

    anton99zel
    Антон @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Не стал разбираться в вашей писанине. Добавляйте товар так:
    Bitrix\Main\Loader::includeModule("catalog");
    $fields = [
        'PRODUCT_ID' => 98
        'QUANTITY' => 2
    ];
    $r = Bitrix\Catalog\Product\Basket::addProduct($fields);
    if (!$r->isSuccess()) {
        var_dump($r->getErrorMessages());
    }
    Ответ написан 09 июл. 2020
    26 комментариев
    Нравится 1 26 комментариев
  • Как в битрикс вывести только время создания?

    anton99zel
    Антон @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <?=strtolower(FormatDate("H:i", MakeTimeStamp($arItem['PROPERTIES']['DATA']['VALUE']))) ?>
    Ответ написан 08 июл. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Как запретить покупку товара, если количество товара на складе меньше чем хочет клиент?

    gromdron
    Андрей Николаев @gromdron
    Bitrix developer
    1) Проверить модуль.
    Включен ли количественный учет? Разрешена ли покупка при отсутствии товара?

    2) Проверить индивидуальные настройки товара (для каждого товара можно переопределить)
    Включен ли количественный учет? Разрешена ли покупка при отсутствии товара?

    3) Проверить реальное доступное количество.
    Количество товаров на складе не есть количество товаров. Битрикс отображает это только для справки, реальное количество берется из другого поля в карточке товара.

    4) Проверить шаблон оформления заказа.
    Возможно он кастомизирован или написан с 0. Там можети быть впринципе не предусмотрено такой механики
    Ответ написан 30 июн. 2020
    1 комментарий
    Нравится 1 1 комментарий
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • w3bsmes
    Alice
    • 9 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 6 ответов
    • 0 вопросов
  • Василий Банников
    • 6 ответов
    • 0 вопросов
  • 0xD34F
    0xD34F
    • 6 ответов
    • 0 вопросов
  • dimonchik2013
    dimonchik2013
    • 6 ответов
    • 0 вопросов
  • rPman
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации