void showIf( string $text, string $value1="", string $cond="==", string $value2 = "" );

Расширенный аналог методов $APPLICATION->ShowTitle(), $APPLICATION->ShowProperty() и $APPLICATION->ShowViewContent()

Очень мощная функция, которая позволяет выводить по шаблону одни свойства страниц и буферизуемые области в зависимости от других свойств страниц и буферизуемых областей.



Параметры:

$text — текст который надо выводить по шаблону со свойствами страниц или с буферизуемыми областями.
Может содержать названия свойств вида ##banner_html## примеры ниже.

$value1 — первая строка по шаблону, которая участвует в сравнении. Может содержать названия свойств вида ##easy_page##, примеры ниже

$cond — строка оператор сравнения. Может принимать значения:

  • ==
  • !=
  • <=
  • >=
  • <
  • >

$value2 — вторая строка по шаблону, которая участвует в сравнении. Может содержать названия свойств вида ##easy_page##, примеры ниже.


 
Функция задает отложенную функцию, которая выведет пользователю измененный $text, если выполнено условие.

В $text, $value1 и $value2 в шаблонах можно использовать:
  • ##код_свойства_страницы## — код свойства страницы
  • ##page.title## — заголовок страницы 
  • ##browser.title## — заголовок окна браузера (свойство title, если задано, иначе заголовок страницы)
  • ##viewcontent.код_буферизуемой_области## — с версии модуля 1.4.2 код буферизуемой области для $APPLICATION->ShowViewContent();

Примеры:

Вывести заголовок страницы, при условии, что свойство страницы easy_page==Y

<?\Askaron\Api\Func::showIf( '<h1>##page.title##</h1>', '##easy_page##', "==", "Y" );?> 


Вывести свойство страницы ##banner_html## при условии, что оно не пустое.

<?\Askaron\Api\Func::showIf(
 '<div style="text-align: center;">##banner_html##</div>',
 '##banner_html##', "!=", ""
);?> 



С версии модуля 1.4.2 
Вывести текст новости в шапке сайта с дополнительными тэгами, если этот текст новости не пустой. 

Работает, как аналог $APPLICATION->ShowViewContent("news_detail"), но c условием

\Askaron\Api\Func::showIf( 'Текст новости: <div>##viewcontent.news_detail##</div>', '##viewcontent.news_detail##', "!=", "" );

Результат

Текст новости:
Привет мир!

// где-то внизу задать текст новости методом AddViewContent
$APPLICATION->AddViewContent( "news_detail", 'Привет мир!' );

// либо в шаблоне компонента с помощью SetViewTarget и EndViewTarget
$this->SetViewTarget('news_detail');
  echo "Привет мир!";
$this->EndViewTarget();



0  


 getCatalogGroupIdByName | Описание курса | mail