Местоположение
Россия, Владимирская обл., Владимир

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (18)
  • В битриксе вместо 404 отдаёт код 200 и не переходит на страницу 404, в чём дело?

    @Kontrael
    1. Проверьте .htaccess в корне. Должна присутствовать строка ErrorDocument 404 /404.php
    2. Перейдите напрямую на файл с 404 //site.ru/404.php Если страница, не белая, значит проблема в логике "какую страницу показывать", если белая, то в самой странице. Возможно, где-то забыли убрать die(); при отладке

    Если после открытия содержимого страницы, все еще будет 200 статус, надо добавить вот это в начало 404.php
    <?php
    include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
    CHTTP::SetStatus("404 Not Found");
    @define("ERROR_404","Y");
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    use Bitrix\Main\Localization\Loc;
    $APPLICATION->SetTitle("Страница не найдена");
    Ответ написан
    Комментировать
  • Как задать правило для данной функции?

    @Kontrael
    У вас не верный подход в принципе. Вы смешиваете логику и представление, но это отдельная тема.

    Вот это:
    if ( '' === $product->get_price() || 0 == $product->get_price() )

    Вообще можно заменить на
    if (!$product->get_price())

    И тогда необходимость в функции
    product_price_free_zero_empty
    отпадает.
    В коде, который собирает html страницы пишете что-то вроде:
    if (!$product->get_price()){
        echo '<span class="woocommerce-Price-amount amount">By request</span>';
    }

    А под тегами, где нужна кнопка:
    if (!$product->get_price()){
        echo '<input type="button" value="Кнопка" /> ';
    }
    Ответ написан
    3 комментария
  • Как профилировать php на 1с-Битрикс через XHProf?

    @Kontrael
    Профилировщик это уже скальпель, для поиска конкретного проблемного куска кода, натравливать его на весь хит - решение сомнительное, которое выльется в проблемы с которыми вы столкнулись.
    Локализуйте проблему и собирайте данные профилировщиком уже внутри компонента. Но по опыту, это действительно нужно процентах в 10 случаев.
    Начните со встроенного отладчика.
    5ec67305b1f79562550586.png
    Посмотрите число запросов с кешем и без, время выполнения. Там же увидите, какие компоненты много себе позволяют, и там уже, при необходимости, запускайте профилировщик. Хотя скорее всего, вы увидите проблему до его запуска.
    Ответ написан
    Комментировать