Телеграм: @camouf_ru Почта: mihail@bazarow.ru

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

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


Бывает, стоит задача применить какой-либо стиль или вывести конкретный кусочек кода для дирректории. Для этого в Битрикс можно воспользоваться параметром CMain::GetCurPage. А как расскажу на примере...
 
А как выглядит код не для категории, а для страницы сайта ?
 
Цитата
Дмитрий пишет:
А как выглядит код не для категории, а для страницы сайта ?
Код
  
 
<?if ($APPLICATION->GetCurPage()=='/catalog/index.php'):?>ЧТО-ТО ЧТО ХОТИМ ВЫВЕСТИ<?else:?>Что-то что иначе<?endif;?>  
[CODE][/CODE]
 
А как определить текущий уровень раздела каталога из файла section.php (файл из комплексного каталога)? Там в $arResult не хранится DEPTH_LEVEL.
 
Здравствуйте Михаил! Подскажите как сделать чтоб слайдер не показывался во все разделах каталога?
Я использовал ваш код "<?if (
($APPLICATION->GetCurDir()=='/designes/ready-made-html-layouts/')
|| ($APPLICATION->GetCurDir()=='/designes/adaptive-html/')
|| ($APPLICATION->GetCurDir()=='/portfolio/')
|| ($APPLICATION->GetCurDir()=='/forum/')
):?>" , но т.к. в каталоге очень много разделов, не очень удобно каждый выписывать в код. Как сделать проще? :\
 
Цитата
Леонид пишет:
Здравствуйте Михаил! Подскажите как сделать чтоб слайдер не показывался во все разделах каталога?
Я использовал ваш код "<?if (
($APPLICATION->GetCurDir()=='/designes/ready-made-html-layouts/')
| ($APPLICATION->GetCurDir()=='/designes/adaptive-html/')
| ($APPLICATION->GetCurDir()=='/portfolio/')
| ($APPLICATION->GetCurDir()=='/forum/')
):?>" , но т.к. в каталоге очень много разделов, не очень удобно каждый выписывать в код. Как сделать проще?
Вместо == (равно) используйте !== (не равно)
 
Цитата
Михаил Базаров пишет:
Цитата
Леонид пишет:
Здравствуйте Михаил! Подскажите как сделать чтоб слайдер не показывался во все разделах каталога?
Я использовал ваш код "<?if (
($APPLICATION->GetCurDir()=='/designes/ready-made-html-layouts/')
| ($APPLICATION->GetCurDir()=='/designes/adaptive-html/')
| ($APPLICATION->GetCurDir()=='/portfolio/')
| ($APPLICATION->GetCurDir()=='/forum/')
):?>" , но т.к. в каталоге очень много разделов, не очень удобно каждый выписывать в код. Как сделать проще?
Вместо == (равно) используйте !== (не равно)
Спасибо! Нашел еще решение: (CSite::InDir('/catalog')
 
Михаил подскажите, у меня есть раздел каталог у которого есть страницы авио, ж/д, как мне  вывести определённое меню для этих страниц?
 
Цитата
Василий написал:
Михаил подскажите, у меня есть раздел каталог у которого есть страницы авио, ж/д, как мне  вывести определённое меню для этих страниц?
Нужно, конечно, вашу задачу понимать полнее- но в данном случае, сподручнее через catalog.section.list сделать
 
Михаил, а можно примерчик, какой нибудь, чтобы яснее было
 
Код
<?if( //если текущей уровень каталога 1 и 2 
($arResult["SECTION"]["DEPTH_LEVEL"]==1) 
||($arResult["SECTION"]["DEPTH_LEVEL"]==2) 
):?> 

Должно произойти вот это 

<?endif;?>
 
Тут можно бы на всякий случай уточнить, что уровни начинаются с 0, а не с 1.
 
Здравствуйте!
Подскажите, пожалуйста, какое нужно написать условие, чтобы показывать в шаблоне определённый блок, только когда находишься на странице элемента каталога (странице товара), но не в разделах каталога.
Или наоборот, условие, чтобы скрыть определённый блок шаблона только когда находишься в разделах каталога, а на всех остальных страницах показывать блок, включая страницы элемента каталога (страницы товаров).
 
Цитата
Кирилл написал:
Здравствуйте!
Подскажите, пожалуйста, какое нужно написать условие, чтобы показывать в шаблоне определённый блок, только когда находишься на странице элемента каталога (странице товара), но не в разделах каталога.
Или наоборот, условие, чтобы скрыть определённый блок шаблона только когда находишься в разделах каталога, а на всех остальных страницах показывать блок, включая страницы элемента каталога (страницы товаров).
В данной ситуации лучше использовать не условия, а прямо в шаблоне компонента каталога выводить или не выводить блок
в файлах section.php и sections.php - это разделы и топ
element.php - это карточка товара

Так наиболее эффективно и грамотно
 
Добрый день, Михаил
есть вот такое условие:

<?if(CSite::InDir('/katalog/')):?>

<?else:?>

<?$APPLICATION->IncludeComponent(
"bitrix:news.list",
"news_right",
array(
"DISPLAY_DATE" => "Y",
и.т..д
как в  'if  добавить в условие еще одну страницу чтоб и на ней не показывались новости???'
спасибо!
 
Цитата
Илья написал:
Добрый день, Михаил
есть вот такое условие:

 <?if(CSite::InDir('/katalog/')):?>

<?else:?>

<?$APPLICATION->IncludeComponent(
"bitrix:news.list",
"news_right",
array(
"DISPLAY_DATE" => "Y",
и.т..д
как в  'if  добавить в условие еще одну страницу чтоб и на ней не показывались новости???'
спасибо!
Код
<?if( (CSite::InDir('/katalog/')) || (CSite::InDir('/news/')) ):?> 
 
как передать в письмо URL страницы на которой был задан вопрос, код $arFields["PAGE_URL"] = $APPLICATION->GetCurPage(); не срабатывает? В моём случае используется Тип почтового события: Заполнена web-форма "SIMPLE_FORM_2" [FORM_FILLING_SIMPLE_FORM_2]
 
- через init.php
 
сам код:
<?
AddEventHandler('main', 'OnBeforeEventSend', Array("MyForm", "my_OnBeforeEventSend" ;) );
class MyForm
{
   function my_OnBeforeEventSend(&$arFields)
   {
       $arFields["TEST1"] = $APPLICATION->GetCurPage();
       //#TEST1#
   }
}
?>
 
Цитата
mtsub написал:
сам код:
<?
AddEventHandler('main', 'OnBeforeEventSend', Array("MyForm", "my_OnBeforeEventSend"  );
class MyForm
{
   function my_OnBeforeEventSend(&$arFields)
   {
       $arFields["TEST1"] = $APPLICATION->GetCurPage();
       //#TEST1#
   }
}
?>
Наверное проще, в форме создать input невидимый и в него передать заголовок или адрес страницы.
Не всегда, нужно захламлять init.php - если моно обойтись- лучше обойтись
 
Цитата
Михаил Базаров пишет:
Наверное проще, в форме создать input невидимый и в него передать заголовок или адрес страницы.
Не всегда, нужно захламлять init.php - если моно обойтись- лучше обойтись
- а как код должен выглядеть, если не сложно, напишите, понимаю, что код элементарный))
Ответить
Форма ответов
 
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить файлы
 
Заметки разработчика

Примерно с 2013-го года пишу, короткие и не очень, заметки по разработке сайтов на Битрикс. Возможно, будут полезны кому-то еще. Во всех заметках есть возможность комментирования и обсуждения. Вы можете задавать уточняющие вопросы прямо там- отвечаю или дополняю заметки по возможности.

Заказaть разработку attention