Задать вопрос
  • Почему может отваливаться поиск по сайту Битрикс?

    AlexanderKs3
    @AlexanderKs3
    "Не работает поиск. Вернее, то работает, то нет. Предложите решение". Эм, серьезно?
    Потрудитесь хотя бы подробно описать, что такое "не работает". Компонент search title или catalog search? Поиск через ajax, или отправляется форма? (если первое, то ошибки в консоли браузера?)
  • Почему сбрасывается описание анонс при выгрузке из 1С?

    AlexanderKs3
    @AlexanderKs3
    vyacheslavdmitrievich79, о том, как добавить, нужно смотреть в документацию. А добавляются в /bitrix/php_interface/init.php. Но если существует файл /local/php_interface/init.php, то в него.
    Нужны события добавления и обновления элемента инфоблока.

    use Bitrix\Main;
    Main\EventManager::getInstance() -> addEventHandler("iblock", "OnStartIBlockElementUpdate", "dropPreviewText");
    Main\EventManager::getInstance() -> addEventHandler("iblock", "OnBeforeIBlockElementAdd", "dropPreviewText");
    
    function dropPreviewText($arFields)
    {
        if (isset($_REQUEST['type'], $_REQUEST['mode']) 
            && $_REQUEST['type'] === 'catalog' 
            && $_REQUEST['mode'] === 'import'
        ) {
            unset($arFields['PREVIEW_TEXT']);
            unset($arFields['PREVIEW_TEXT_TYPE']);
        }
        return $arFields;
    }


    PS: хорошей практикой будет создание отдельного php файла для обработчиков событий и его подключение в init.php.
  • В каком месте компонента sale.order.ajax заполняется письмо?

    AlexanderKs3
    @AlexanderKs3
    Abram333, вам не кажется, что изначально вы о другом спрашивали?
    Формирование ORDER_LIST "зашито" в код компонента.
    Напишите обработчик для события OnOrderNewSendEmail, чтобы перехватить и модифицировать интересующие вас данные, в $arFields.
  • Как обработать запрос не получая ошибку по таймауту?

    AlexanderKs3
    @AlexanderKs3
    Так серверу памяти не хватает, или скрипт не успевает отработать за таймаут?
    Недостаток памяти можно обойти, обрабатывая данные порциями (как вы и предложили). Размер порции настроите, чтобы памяти хватало, и вперед. Получите общее количество строк запросом, запустите цикл, в нем запрос порции (с limit/offset ) и ее обработка.
    Но по времени это будет дольше, чем обработка результатов одного запроса, поэтому проблему с таймаутом не решит, нужно запускать код в консольном скрипте.
  • Какие редиректы создает BitrixVM?

    AlexanderKs3
    @AlexanderKs3
    Была такая проблема, также на BitrixVM развернул сайт на WordPress для доработки.
    В сети много советов по корректной настройке параметров home (Адрес сайта (URL)) и siteurl (Адрес WordPress (URL)), которые доступны из админки, либо в БД в табл. префиксБД_options.
    Но их настройка в соотв. с рабочим сайтом проблему не решила.
    Подозреваю, проблема в работе связки Nginx+Apache, Wordpress видит в заголовках не то, что ожидает и делает редирект на правильный (настроенный) адрес, но ответ прежний и происходит зацикливание.

    Не стал разбираться/настраивать, резвернул вордпресс на резервном LAMP сервере, сделал работу и забыл о проблеме.
  • Почему вылезает ошибка core.js?

    AlexanderKs3
    @AlexanderKs3
    Возможно, проблемы с кодировкой сайта и настройками веб-сервера (всякие mbstring). Попробуйте для начала запустить проверку сайта из админки, /bitrix/admin/site_checker.php
  • Перестало работать оформление заказа bitrix aspro?

    AlexanderKs3
    @AlexanderKs3
    WebforSelf, перед ними обычно еще одна запись, файл ajax.php (/bitrix/components/bitrix/sale.order.ajax/ajax.php), который возвращает примерно такой ответ:
    {
    	"order": {
    		"REDIRECT_URL": "/order/?ORDER_ID=177",
    		"ID": "177"
    	}
    }

    И обработчик JS уже делает редирект на страницу "заказ сформирован". У вас до этого не доходит.
  • Перестало работать оформление заказа bitrix aspro?

    AlexanderKs3
    @AlexanderKs3
    WebforSelf, отключили везде - это где? Кеш на сайте после отключения удаляли? В браузере при проверке кеш удаляли (либо проверять в реж. инкогнито)?
    В браузере в инструментах разработчика, в Сети (Network) можете посмотреть запросы XHR - уходит на сервер или нет (когда жмете кнопку "оформить заказ"). Скорее всего на кнопке нет обработчиков событий и до формирования ajax дело не доходит. Можно посмотреть в исходном коде страницы, в каком месте карты яндекса подключаются, это может указать, кто подключает. Или не подсказать, как повезет.
  • Перестало работать оформление заказа bitrix aspro?

    AlexanderKs3
    @AlexanderKs3
    Если у вас еще активна подписка на обновления Аспро, лучше всего обратиться в их поддержку.
    Для оформления заказа используется компонент order.ajax, поэтому после заполнения полей, оформление заказа происходит фоном. Затем JS получив ответ выполняет редирект на страницу с сообщением. У вас ошибка яндекс карт, которая блокирует работу JS. Судя по ошибке, не задан обязательный api ключ доступа к картам. Желательно в админке, в настройках Аспро проверить, указан ли ключ для карт. В любом случае, можете его обновить, получив ключ "JavaScript API и HTTP Геокодер" в кабинете https://developer.tech.yandex.ru/.
    Карта может выводиться различными средствами:
    • карта, подключаемая order.ajax (можно отключить в настройках компонента);
    • карта, подключаемая модулем доставки (например, сдэк или пр.). Поставили модуль, но не настроили в нем подключение карт и их api ключ
    • проч. методы подключения - события, кастом. шаблоны и т.п.. Тут без анализа проекта сложно что-то подсказать
  • Как добавить свою колонку в списке пользователей Битрикс?

    AlexanderKs3
    @AlexanderKs3
    Настройки вашего пользовательского поля должны разрешать его отображение в списке пользователей и фильтре. Если в настройках свойства флажок "Не показывать в списке" снят, а в списке "Показывать в фильтре списка" не равно "не показывать", нужно просто перейти в список пользователей и нажать "шестеренку" в заголовке списка. Ну и в фильтр поле добавить
  • Не выгружаются заказы из битрикс в 1С на теме Аспро. Как исправить?

    AlexanderKs3
    @AlexanderKs3
    Если нужно побыстрее решить проблему, то лучше обратитесь в техподдерку Аспро. Вот только работают они вроде до 16:00 по МСК, поэтому сегодня могут не ответить.

    Судя по сообщению (вашему и модуля БУС в 1С) при передаче заказов в 1С на сайте происходит критическая ошибка. Я бы на время включил вывод ошибок в .settings.php и при ручном обмене посмотрел лог. Возможно, в него вылезет ошибка. Например о том, что не найден класс/метод от Аспро.

    PS: судя по дате добавления вопроса, проблема должна быть неактуальна
  • Как отключить автоматические комментарии в задачах Б24?

    AlexanderKs3
    @AlexanderKs3 Автор вопроса
    Andrey, указанный мною метод, как оказалось, работает не всегда. Часть "пингов" все равно выводится. Но за дополнение спасибо, попробую.
  • Как сохранить структуру каталга 1С при выгрузке в БУС (модулем обмена битрикс)?

    AlexanderKs3
    @AlexanderKs3 Автор вопроса
    Евгений, как это правильно сделать?
    Указывал группу номенклатуры (в отборе указал только ненулевой остаток и склады), выгрузилась номенклатура и других разделов.

    60a35a23319ce319746191.png

    Группы номенклатуры для выгрузки тоже в отборе указывать, а "Группы номенклатуры" (на скриншоте) оставить пустым?
  • Как настроить проксирование сайта в nginx?

    AlexanderKs3
    @AlexanderKs3 Автор вопроса
    Пусть это и не прямой ответ на мою проблему, но включение https между виртуальными машинами ее решило.
    Некорректный редирект с портом отправлял Apache c машины corp, т.к. для него запросы с site приходят по http. Во многих статьях пишут, что proxy_redirect на проксирующем сервере заменяет url в редиректе, но в моем случае это не сработало.
  • Как настроить проксирование сайта в nginx?

    AlexanderKs3
    @AlexanderKs3 Автор вопроса
    То есть proxy_redirect не подходит для замены значения locatiton при 30х статусе на корректный?
  • Как прямо в корзине поменять у всех товаров тип цены?

    AlexanderKs3
    @AlexanderKs3
    po4emu4ka2020, скорее всего у вас отключен вывод ошибок. В коде вы вызываете GetOptimalPrice внутри своего же события. Обычно, в таком случае метод не работает, но может и рекурсия получиться (не помню что там будет).
    Событие OnGetOptimalPrice создано для переопределения стандартного алгоритма поиска выгодной цены своим алгоритмом в каталоге товаров. У вас уже сформирован объект корзины с типами цен, поэтому необходимо работать с объектом, без надежды на события.
    Для отображения корзины используется компонент sale.basket.basket, который грузит товары, купоны и скидки через AJAX. Решения вижу 3:
    1. кастомизировать весь компонент, скопировав его в Local и добавив в class.php проверку нажатой кнопки (из $_REQUEST) при получении корзины (чтобы переписать в ней цены);
    2. либо кастомизировать только тему компонента, чтобы при клике по радиокнопке делать вызов AJAX к вашему скрипту php, который перепишет цены в корзине, и JS при успешном AJAX ребутнет страницу корзины.
    3. впрочем, вместо правки шаблона можно написать свой компонент с радиокнопками и реализацией п.2, и подключить на странице перед корзиной.
  • Почему битрикс не отправляет письмо на mail.ru через крон?

    AlexanderKs3
    @AlexanderKs3
    используйте smtp яндекса или мэйл ру

    теперь это не работает. Mail.Ru продает рассылки как услугу, поэтому следит за трафиком беспл. корп. ящиков и блокирует при "подозрительной" активности. Яндекс лучше, но может увидеть "подозрительную активность" и прикрыть ящики. Из опробованного - использование модуля wsrubi.smtp (отправка через SMTP) + SMTP Relay сервера, например, Mailgun.