Задать вопрос
  • Битрикс умный фильтр мультивалютность?

    @topuserman
    Умный фильтр фильтрует только заданным по значениям полей.
    Т.е. если фильтр по свойству цены с рублевой валютой, то фильтрация будет только по рублю, и кастомизировать компонент, а тем более шаблон, очень трудозатратно.

    На много проще будет добавить дополнительные типы цены - Цена USD, Цена EUR и т.д.

    Повесить обработчик на изменение/добавление товара, в котором автоматически будут заполняться эти типы цен с пересчета с рубля по внутреннему курсу валют.

    Далее в умный фильтр выводите все нужные типы цен стандартными средствами, и немного кастомизируете шаблон таким образом, чтобы по умолчанию показывалось только Рубль, далее по селекту показывается нужные типы цен.

    UPD

    Если у вас редакция Малый бизнес, то там многоценовости не будет.
    В этом случае придется кастомизировать компонент фильтра:

    1. Выносите компонент в отдельное пространство
    2. В куда-нибудь заводите курс валют
    3. В шаблоне компонента, где выводится блок для фильтрации по цене, добавляете селект, с выбором нужной валюты, при изменении валюты, через ajax, пересчитываете цены по курсу, а выводите в этом же месте.
    + добавляете input:hidden с выбранный валютой
    4. В компоненте, проверяете пришедший курс, и переводите в рубли.

    В итоге все будет работать поверх стандартного функционала.
    Ответ написан
    6 комментариев
  • Цикл в JavaScript как правильно реализовать Chart.js?

    @Evanescing
    В первую очередь использование глобальных переменных в битрикс очень часто говорит о некорректной структуре. Передачу данных между разными страницами лучше оганизовывать запросами. Если выборка и построение графика находятся на одной странице, то можно использовать обычные переменные.
    Чтобы в массиве накапливались элементы, необходимо к переменной массива добавлять квадратные скобки [] $GLOBALS['DATE_NEW_PRICE'][]
    www.php.su/articles/?cat=vars&page=014
    Дополнительно, необходимо сконвертировать массив php в скриптовый, метод битрикс:
    var arr = <?=CUtil::PhpToJSObject($array, false, true)?>;
    Ответ написан
    3 комментария
  • Вывести имя элемента "привязка к элементам" Битрикс?

    udjin123
    @udjin123
    PHP, Golang, React
    Имя элемента в свойстве не храниться, храниться только его ID.

    По этому вы сначала получаете его ID как и сделал и делаете второй запрос CIBlockElement::GetByID или еще лучше CIBlockElement::GetList то есть получаете данные уже самого элемента.

    $res = CIBlockElement::GetProperty($IBLOCK_ID, $ELEMENT_ID, array("sort" => "asc"), Array("CODE"=>"TOVAR"));
    while ($ob = $res->GetNext()) {
    	$id = $ob['VALUE'];
    	$element = CIBlockElement::GetList([], ['=ID' => $id], false, false, ['ID', 'NAME'])->Fetch();
    }

    Соответственно в $element['NAME'] будет ваше имя.

    Еще можно вот так

    $element = CIBlockElement::GetList(
    	[],
    	[
    		'IBLOCK_ID' => $IBLOCK_ID,
    		'=ID' => $ELEMENT_ID
    	],
    	false,
    	false,
    	['ID', 'PROPERTY_TOVAR.NAME']
    )->Fetch();


    В таком виде имя элемента будет $elemen['PROPERTY_TOVAR_NAME']

    Если свойство множественное, данные способы тоже применимы, но не правильные. Тогда лучше собрать все ID элементов в массив и сделать только один запрос в базу вместо запросов в цикле.
    Ответ написан
    3 комментария
  • AGI в исходящий маршрут?

    @dronmaxman
    VoIP Administrator
    exten => h,n,AGI(agi.php,${ANSWEREDTIME},${DIALSTATUS})

    При исходящем звонке эта конструкция отработает если трубку первым положит абонент "В". Если первым кладет трубку абонент "А", то канал закрывается и до этого пункта dialplan астериск вообще не доходит.
    Вторая рекомендация, использовать таймауты в скрипте, что бы он не зависал в памяти по какой либо причине.

    Что бы это обойти, лучше использовать handler.
    https://wiki.asterisk.org/wiki/display/AST/Hangup+...
    Ответ написан
  • Переключение стилей по кнопке?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Ну вы прям как беспомощные дети, право слово.
    Открываем исходники(там всего два файла) и практически с первых строк видим как там всё устроено. Переменная которая вам нужна - mixColor.
    Вот только там не чёрный цвет, а вовсе даже белый, потому что на самом деле там происходит не смена цвета body, а наложение div с классом darkmode-layer поверх всего в режиме: mix-blend-mode: difference;.
    Тут уж вы сами подбирайте нужный цвет с нужным режимом смешивания.
    Ответ написан
    3 комментария
  • Убрать лишнее ,преобразовать в json?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    sscanf() в помощь
    Ответ написан
    1 комментарий
  • Преобразовать в JSON?

    Expany
    @Expany
    $this->get('skill');
    <?php
    $regexp = '/\d+\s\w+\s\d+/iu'; // ыыы, регуларке обожае
    // Тупа твой вывод ыыы
    $response = "default has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
       No Members
       No Callers
    
    110 has 0 calls (max unlimited) in 'rrmemory' strategy (100s holdtime, 78s talktime), W:0, C:12, A:18, SL:25.0% within 60s
       Members: 
          Local/801@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 4 calls (last was 6516 secs ago)
          Local/769@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 1 calls (last was 4535 secs ago)
          Local/744@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/739@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 1 calls (last was 6952 secs ago)
          Local/771@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 3 calls (last was 1905 secs ago)
          Local/756@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 1 calls (last was 9914 secs ago)
          Local/746@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken 1 calls (last was 2874 secs ago)
          Local/774@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/755@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/748@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/779@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/726@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
          Local/728@from-queue/n (ringinuse disabled)[1;36;40m (dynamic)[0m[0m[0m[0m ([1;32;40mNot in use[0m) has taken no calls yet
       No Callers";
    // хо ба
    preg_match($regexp,$response,$match);
    // не ну тут всо ясно
    $match = explode(' ',$match[0]);
    $json = [$match[0] => $match[2]]; // не ну а чо :D
    echo json_encode($json);
    Ответ написан
    2 комментария
  • Битрикс,умный фильтр,5 колонок, реально?

    @PetrPo
    joxi.ru/ZrJ7N1EiwaONZm
    Только родительский класс добавь перед col-md-4, это если совсем по простому.
    Раз уж заговорил о настройках компонента, можешь добавить свой параметр в компонент и в шаблоне класс ставить в зависимости от этого параметра, от этого класса css написать
    Ответ написан