Как узнать, находитесь ли вы на текущей странице детального описания продукта в каталоге?

Здравствуйте!
У меня возникла проблема при реализации вывода всех категорий и разделов над всеми страницами каталога, кроме детальной страницы. Я разместил вызов "bitrix:catalog.section" выше вызова каталога, и сейчас он отображается на всех страницах. Однако я не знаю, как проверить, являюсь ли я находящимся на детальной странице каталога, чтобы скрыть "bitrix:catalog.section". Подскажите, как это можно проверить, или возможно мой подход к выводу "bitrix:catalog.section" неверен, и более правильно было бы сделать это иным способом?
  • 18 сентября 2023 г. 19:27
Ответы на вопрос 2
Вы можете проверить, находитесь ли вы на детальной странице товара в каталоге, используя глобальную переменную $APPLICATION. 

Одним из способов проверки можно использовать метод GetPageProperty(), который возвращает значение свойства текущей страницы. Например, вы можете проверить, установлено ли свойство PAGE_PROPERTY, которое может быть установлено на детальной странице товара. 

Вот пример кода:

```php
<?php
if ($APPLICATION->GetPageProperty('PAGE_PROPERTY') === 'DETAIL_PAGE') {
    // Если вы находитесь на детальной странице, скройте "bitrix:catalog.section"
}
?>
```

Пожалуйста, обратите внимание, что "bitrix:catalog.section" должен быть внутри условия, которое проверяет, находитесь ли вы на детальной странице. Если вы желаете скрыть "bitrix:catalog.section", убедитесь, что он размещен внутри условия.
я бы использовал компонент bitrix:catalog.section в шаблоне комплексного компонента каталога bitrix:catalog. Для этого нужно создать несколько файлов внутри шаблона:

- compare.php для страницы сравнения;
- element.php для детальной страницы;
- search.php для страницы поиска;
- section.php для страницы раздела;
- sections.php для страницы списка разделов.

Каждый из этих файлов будет отвечать за соответствующую страницу и содержать необходимую логику и макет.
Похожие вопросы