• Поиск по Bitrix не ищет если в запросе присутствуют слова которых нет в индексе, как победить?

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

    @MaZaAa
    Все намного проще...
    json_encode($res, JSON_UNESCAPED_UNICODE);
    Ответ написан
    7 комментариев
  • В каких случаях OnBeforeIBlockElementUpdate не срабатывает при изменении элемента?

    @kudis
    Bitrix developer
    События срабатывают, только при вызове API методов (Например: Add, Update)
    т.е. если разработчик сделал изменение активности в обход и забыл вызвать ExecuteModuleEventEx() для Вашего OnBeforeIBlockElementUpdate, то изменение не вызовет события.
    Но так делают редко, но делают. Например:
    Используют UpdateList() - он обновляет элементы, но не вызывает Event (битрикс так и говорит об этом методе Update list of elements w/o any events)
    или хардкорный
    UPDATE `имя базы`.`b_iblock_element` t SET t.`ACTIVE` = 'Y' WHERE t.`ID` = id_элемента

    событие не сработает.
    Поищите аномалии в коде.
    Ответ написан
    Комментировать
  • Как изменить иконку в родительском меню?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Вот так добавляется пункт меню. Один из параметров возвращаемого массива icon
    В логике административного меню в качестве параметра иконки для страницы и пункта меню передается не путь к иконке, а класс CSS.
    стили прописываются в файле
    /bitrix/modules/my_module/install/themes/my_module.css
    Пример файла:

    /*Menu icon*/
    #fcmch_menu_icon {background-image:url(icons/my_module/mnu_my_module.gif);}
    #fcmch_page_icon {background-image:url(icons/my_module/my_module.gif);}

    сами иконки необходимо загрузить в папку модуля

    /bitrix/modules/my_module/install/themes/.default/icons/my_module/

    При установке модуля содержимое папки themes модуля должно быть скопировано в папку /bitrix/themes/ и удалено оттуда при деинсталяции модуля.
    Ответ написан
  • Какой метод jQuery следит за изменениями?

    Читайте всегда документацию bxslider.com/options
    Вам нужен метод onSlideAfter()
    Ответ написан
    2 комментария
  • Как вывести информацию highload блока 1c битрикс?

    @dibarboss
    Программист 1С-Bitrix
    \Bitrix\Main\Loader::IncludeModule("highloadblock");
    
    $xmlID = '21XlirMU'; //подставьте нужный вам внешний код        
    $tblName = 'years';
    $select = ['UF_NAME']; // или как у вас поле называется
    $filter = ['UF_XML_ID'=>$xmlID];
    $limit = 1;
    
    
    $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getList(
                array("filter" => array('TABLE_NAME' => $tblName))
            )->fetch();
            $entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
            $Query = new \Bitrix\Main\Entity\Query($entity);
    
            $Query->setSelect($select);
            $Query->setFilter($filter);
            $Query->setOrder([]);
            $Query->setLimit($limit);
    
            $result = $Query->exec();
    
            $arResult = new \CDBResult($result);
    Ответ написан
    Комментировать
  • Urlrewrite битрикс. Как написать правило исключающее из url символьный код элемента?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если Вы действительно хотите реализовать подобное (и если я вас правильно понял), то Вам нужно будет сделать не только это.

    Шаг 1.
    1) Создайте страницу /catalog/index.php, на этой странице выведите $_REQUEST
    2) Создайте правило (взял из примера выше, у пользователя Артём Лучников )

    array(
        "CONDITION" => "#^/([a-zA-Z0-9_-]*)/catalog/.*#",
        "RULE" => "city_code=\$1",
        "PATH" => "/catalog/index.php",
    )


    3) Проверьте, что при заходе, например на /moscow/catalog/, открывается страница и в выведенном массиве есть city_code=moscow

    Шаг 2.
    1) Скопируйте в свое пространство компонент catalog (комплексный) [например custom:catalog], вынесите его на страницу /catalog/index.php
    2) Добавьте в component.php еще одну разделяемую переменную в arComponentVariables - назовите ее, например CITY_CODE, напишите обработчики в тело комплексного компонента, которые будут "переваривать" введенный текст и будут перенаправлять на нужные страницы. В шаблоне sections.php сделайте вывод $_REQUEST
    3) Проверьте, что при заходе, например на /moscow/catalog/, открывается страница и в выведенном массиве есть city_code=moscow

    Шаг 3.
    1) В вынесенном компоненте (из примера выше это custom:catalog), сделайте обработчик указанной переменной city_code, которая и определяет, есть ли указанный город в инфоблоке
    2) Проверьте что все работает корректно

    Ну и вишенка на торте, что если бы вы сделали выбор инфоблока, откуда берутся города в переменные компонента.
    Ответ написан
    Комментировать
  • Urlrewrite битрикс. Как написать правило исключающее из url символьный код элемента?

    Попробуйте задать такое правило в urlrewrite.php:
    array(
        "CONDITION" => "#^/([a-zA-Z0-9_-]*)/catalog/.*#",
        "RULE" => "element_code=\$1",
        "PATH" => "/catalog/index.php",
    )
    Ответ написан
    Комментировать
  • Как на javascript узнать, какие файлы выбраны в input type=file?

    htmlcssverstka
    @htmlcssverstka
    Верстка сайтов
    $('input[type="file"]').on('change', function (event, files, label) {
        var file_name = this.value.replace(/\\/g, '/').replace(/.*\//, '')
        $('.filename').text(file_name);
    });
    Ответ написан
    2 комментария
  • Как отправить soap запрос?

    garinov
    @garinov Автор вопроса
    Фрилансер
    Сам спросил - сам ответил

    <?php
    
    echo '<form action="new6.php" method="post">
      <input type="text" name="IPAddress" value=""><br><br>
      <input type="submit" value="Submit">
    </form>';
    
    try 
    {
    $soap_client = new SoapClient("http://www.webservicex.net/geoipservice.asmx?WSDL");
    	$vec = array("IPAddress"=>$_POST[IPAddress]);
    	//print_r($vec);
    	echo '<br><br>';
    	
    	$quote = $soap_client->GetGeoIP($vec);
    	//print_r($quote);
    	echo '<br><br>';
    
    	//print_r($quote->GetGeoIPResult->CountryName);
    	
    	$country = $quote->GetGeoIPResult->CountryName;
    	echo "Ваш IP " . $quote->GetGeoIPResult->IP . " соответствует стране: " . $country;
    	
    }
    
    catch (SoapFault $exception)
    {
    echo $exception->getMessage();
    }
    Ответ написан
    Комментировать