• Как вставить переменную из js в template.php и обновить страницу?

    Вам надо добавить селекту имя и как-то сабмитить форму с селектом (на выбор есть GET и POST). Соответственно, в скрипте значение выбранного города будет в одном из значений в массиве $_GET или в массиве $_POST .

    P.S. Правильно пишется "city". Учите английский, в будущем пригодится.
    Ответ написан
    Комментировать
  • Почему возникает ошибка .htaccess со знаком $ (конец строги)?

    Ломается вот из-за этой конструкции:
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php

    Если её убрать, то всё работает.
    С ней сообщение в логе:
    AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

    Собственно, частью про 'LogLevel debug' я и рекомендую Вас воспользоваться для удовлетворения любопытства
    Ответ написан
    Комментировать
  • Как написать сообщение коммита согласно спецификации?

    git commit -m 'fix (catalog): починил подменю
    
    после редизайна подменю в каталоге уехало вправо. Поправил css.
    
    https://багтрекер/ссылка-на-таск'
    Ответ написан
    Комментировать
  • Как подключить reCAPTCHA v3 к форме 1С Битрикс?

    CEvent::Send() только ставит сообщение в очередь ( читай "пишет в таблицу в БД"). А отправлено оно будет только на следующем хите, если повезёт.
    Для немедленной отправки используйте CEvent::SendImmediate()
    Ответ написан
  • Как защититься от создания пустых заказов ботами?

    повесьте обработчик на событие onOrderAdd и записывайте в какой-то лог всё, что нужно: $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], что-нибудь ещё
    Ответ написан
    Комментировать
  • Как передать данные от компонента к компоненту при композитном сайте на Битрикс?

    Через параметры этого другого компонента. Если компоненты разделены, через $GLOBALS или их аналог $APPLICATION->SetPageProperty() , $APPLICATION->GetPageProperty()
    Ответ написан
    Комментировать
  • Как подключиться к Web-серверу по SSH и работать с Git через графическую оболочку наподобие Sourcetree?

    Мне кажется, Вы не очень правильно понимаете работу с гитом.
    Есть рабочая копия. Есть репозиторий ( по сути, такая же рабочая копия плюс обслуживающее её ПО).
    Традиционно работа строится так:
    • у Вас есть локальная рабочая копия, склонированная из какого-то репозитория,
    • на веб-сервере есть ещё одна рабочая копия, склонированная из того же репозитория,
    • Вы локально делаете правки, пушите их в репозиторий,
    • Заходите на веб-сервер по ssh и там делаете git pull. Ради одной-двух команд графическая оболочка не нужна.

    Вы, конечно, можете смонтировать удалённую папку как локальную ( в Linux это делается через FUSE, вроде бы), и натравить Sourcetree на точку монтирования. Но лично я такое не одобряю
    Ответ написан
  • Вывести описание раздела каталога Bitrix над его элементами?

    bitrix:catalog - это комплексный компонент. На странице element.php шаблона он подключает обычный компонент bitrix:catalog.element .
    Скорее всего, вам нужно посмотреть $arResult в шаблоне компонента bitrix:catalog.element -если там нет нужных данных, то догрузить их обращением к API в result_modifier.php .
    Ответ написан
    Комментировать
  • Как в Битрикс синхронизировать товары между основным сайтом и сайтом для разработки?

    Добавьте ещё b_file - там картинки.

    Если Вы хотите ограничиться только этими таблицами, то не так страшен чёрт, как его малюют. Я бы действовал так:
    1) через Adminer выгрузил структуру нужных таблиц на боевом и на тесте.
    2) сравнил эти структуры каким-нибудь инструментом ( например, Meld). В хорошем случае разница будет только в чём-то незначительном, типа автоинкремента.
    3) если всё хорошо, перелил таблицы.
    4) переиндексировал поиск, если это нужно.
    Возможно, диапазон таблиц стоит расширить до b_iblock_* , b_catalog_*
    Ответ написан
    Комментировать
  • Алгоритмы и структуры данных?

    поскольку f(n) асимптотически неотрицательна, то есть хотя бы иногда образается в ноль, то g(n) не может быть асимптотически положительной, так как ей необходимо ограничивать f(n) снизу: c*g(n) ≤ f(n).
    Для примера можно взять функцию sin(x)+1
    Ответ написан
    Комментировать
  • Как создать строку '-x-xx-xxx-xx-x-'?

    мой вариант:
    const divider = '-';
    const symbol = 'x';
    let x = symbol;
    let prefix = divider;
    let suffix = divider;
    for (let i = 0; i < 2; i++) {
        prefix += x + divider;
        suffix = divider + x + suffix;
        x += symbol;
    }
    let result = prefix + x + suffix;
    console.log(result);
    Ответ написан
    3 комментария
  • Поврежденный файл с расширением .NEF, как открыть?

    Там нечего восстанавливать. Второй файл весь забит двоичными единицами.
    Ответ написан
    Комментировать
  • Как изменить шаблон у внутренних страниц?

    Делайте так же, что Вас останавливает? Если не хотите плодить строчки, то я вижу 2 пути:
    1) использовать в "Тип условия" значение "Выражение PHP", а в "Условие" регулярное выражение. Вот пример от коробочного правила:
    preg_match("#^/video/([\.\-0-9a-zA-Z]+)(/?)([^/]*)#", $GLOBALS['APPLICATION']->GetCurPage(0))

    2) сделать комплексный компонент, регулярку задать в нём, поместить его, например, в /test/index.php . Или аналогично сделать через роутинг. Тогда в настройках сайта будет достаточно одной строчки с типом "Для папки или файла" .
    Ответ написан
    Комментировать
  • Как в Битриксе отключить товарное предложение?

    к ответу tgarl добавлю только, что если делать обработчик для onBefore события, то в нём не надо самому делать апдейт в базе, а надо делать
    $arFields['ACTIVE'] = 'N';
    Именно для этого $arFields и принимают по ссылке. И надо не забывать, что на том же событии могут быть другие обработчики, со своими изменениями
    Ответ написан
    Комментировать
  • Как настроить nginx + php fpm для 1c bitrix?

    попробуйте вот это:
    try_files $uri $uri/ /bitrix/urlrewrite.php$is_args$args;

    заменить на:
    try_files $uri $uri/ @bitrix;
    И добавить именованный location по образцу PHP-шного:
    location @bitrix {
      include fastcgi_params;
      fastcgi_intercept_errors on;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php;
      try_files $uri =404;
      fastcgi_read_timeout 3600;
      fastcgi_send_timeout 3600;
      fastcgi_param HTTPS "on";
      fastcgi_param SERVER_PORT 443;
      fastcgi_pass 127.0.0.1:{{php_fpm_port}};
      fastcgi_param PHP_VALUE "{{php_settings}}";
    }

    ( я это не проверял)
    Ответ написан
  • Почему иногда не срабатывает событие?

    Вы неправильно используете аргументы в CCrmCompany::getList(), из-за этого получаете вообще все компании и вынуждены их перебирать. Плюс, для событий "OnBefore....Add" ключ ID не может существовать - ведь такие события происходят до создания новой записи ( в смысле элемента, раздела, компании ).

    Должно быть что-то такое ( префиксный фильтр в arFilter должен работать, но я не проверял ):
    function OnBeforeCrmCompanyAddHandler(&$arFields)
    {
        $res = CCrmCompany::getList(['ID' => 'ASC'], ['=TITLE' => $arFields["TITLE"]], ['ID'], 1);
        if ($res->Fetch()) {
            $arFields["RESULT_MESSAGE"] = "Данная компания уже существует!";
            return false;
        }
        return true;
    }

    Список префиксов можно посмотреть в файле bitrix/modules/main/classes/general/sqlwhere.php , в свойстве $operations
    Ответ написан
    Комментировать
  • Как изменять инфу на сайте?

    ткните в любой из сетевых запросов ( в Вашем случае - картинку в середине скриншота ), и увидите заголовки запроса и ответа. И погуглите "http cache control".
    По рекомендациям гугла, ресурсы ( assets ) надо кешировать на год, а изменять через изменение пути к ресурсу.
    Ответ написан
    5 комментариев
  • Как настроить чпу для компонента news для подразделов?

    моя гипотеза
    по скриншотам понять трудно, но попробуйте в параметрах компонента в поле "страница раздела" убрать начальный слеш; должно быть "#SECTION_CODE_PATH#/"
    Ответ написан
    Комментировать
  • Как победить ошибку 500 в 1С-Битрикс: УС?

    $_SERVER[HTTP_HOST]

    а должно быть $_SERVER['HTTP_HOST']
    В PHP 8 окончательно отказались от преобразования неопределённых констант в строки.
    и у Вас в ссылке 'http://' , в 2024 году это уже моветон.
    Ответ написан
    1 комментарий
  • Как найти функцию в файлах проекта?

    ответ при наличии Linux:
    find . -type f -exec grep 'function showMsg2'  '{}' \+

    запускать в корневой папке проекта. Не сработает, если используются магические методы.

    Вариант 2: разобраться с подключением и настройкой xdebug и использовать режим отладки в IDE или трассировку (она идёт в файл, так что IDE не нужна)

    Вариант 3: в main_frame.php
    $temp = _top();
    echo get_class($temp);
    die;

    а затем найти этот класс и копаться в нём.
    Ответ написан
    Комментировать