Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Если папка то применяем...в Битрикс

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Если папка то применяем...в Битрикс


Бывает, стоит задача применить какой-либо стиль или вывести конкретный кусочек кода для дирректории. Для этого в Битрикс можно воспользоваться параметром CMain::GetCurPage. А как расскажу на примере...
Здравствуйте Михаил! Подскажите как сделать чтоб слайдер не показывался во все разделах каталога?
Я использовал ваш код
Код
"<?if ( 
($APPLICATION->GetCurDir()=='/designes/ready-made-html-layouts/') 
|| ($APPLICATION->GetCurDir()=='/designes/adaptive-html/') 
|| ($APPLICATION->GetCurDir()=='/portfolio/') 
|| ($APPLICATION->GetCurDir()=='/forum/') 
):?>"
, но т.к. в каталоге очень много разделов, не очень удобно каждый выписывать в код. Как сделать проще? :\
Вместо == (равно) используйте !== (не равно)
Здравствуйте!
Подскажите, пожалуйста, какое нужно написать условие, чтобы показывать в шаблоне определённый блок, только когда находишься на странице элемента каталога (странице товара), но не в разделах каталога.
Или наоборот, условие, чтобы скрыть определённый блок шаблона только когда находишься в разделах каталога, а на всех остальных страницах показывать блок, включая страницы элемента каталога (страницы товаров).
В данной ситуации лучше использовать не условия, а прямо в шаблоне компонента каталога выводить или не выводить блок
в файлах section.php и sections.php - это разделы и топ
element.php - это карточка товара

Так наиболее эффективно и грамотно
Здравствуйте.
Как сделать, что бы определенный элемент не появлялся(отображался) на главной И в одной директории?
if ($APPLICATION->GetCurPage() != '/')) { элемент } - не отображает на главной
Как приписать в CSite::InDir('/service/')) , так что бы в них не отображался элемент.
if ($APPLICATION->GetCurPage() != '/' and CSite::InDir('/service/')) - думал так, но тут логика не правильная, надо что бы во втором условии было "нет".  
Если элемент инфоблока- думаю проще через глобальный фильтр. Типа того
Код
$GLOBALS['arrFilter'] = array('!ID' => 12);
Рабочий вариант:
Код
<? $Dir = $APPLICATION->GetCurDir(); if ($Dir === "/test/" || $Dir === "/news/"):?>
Текст
<?endif;?>

А как сделать для всех подпапок в папке news? Не получается ))
Код
<? if (CSite::InDir('/news/')): ?>
    Текст
<? endif; ?>
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

Блог-note Заметки по 1С-Битрикс