%structure.getProperty()%

На печать

%structure.getProperty()% – Выведет значение свойства страницы в указанном оформлении.

Так же макрос можно использовать для проверки поля на пустоту, т.е. если значение поля пустое оформление для него выводиться не будет.


%structure.getProperty(field_name, obj_id, [templ_block = 0, templ_ name = _properties])%


field_name

Системное имя поля.

obj_id

ID страницы.

templ_block

Имя блока из шаблона, в оформлении которого необходимо вывести значение поля. По умолчанию используется блок с названием поля. Если такого нет, используется блок default.

templ_name

Шаблон оформления содержимого. Шаблоны находятся в папке /template/structure/objects. По умолчанию используется шаблон _properties.


Структура шаблона


Шаблоны находятся в папке /template/structure/objects. По умолчанию используется шаблон _properties. У шаблона нет обязательных блоков и четкой структуры. Какой именно блок использовать для оформления содержимого полей определяется параметрами макроса. Если параметр templ_block не указан, макрос пытается найти блок по системному названию поля, контент которого нужно оформить. Если такого блока нет в шаблоне, используется блок default.

Если значение поля пустое, макрос пытается найти блок с именем {имя_указанного_блока}_empty. Если такого блока не существует, макрос вернет пустоту.

Локальные макросы шаблона:

%title%

Название поля.

%value%

Значение поля.

%obj.id%

ID страницы.

%obj.name%

Имя страницы.

 


Примеры



Вывод различных свойств страницы

%structure.getProperty(price, %obj.id%)%

 В шаблоне будет использован блок «price», макрос вернет:

Стоимость: 320,90 руб.

%structure.getProperty(notice, %obj.id%)%

В шаблоне будет использован блок «default», макрос вернет:

Описание: Хороший товар
 

%structure.getProperty(image, %obj.id%)%

В шаблоне будет использован блок «image», макрос вернет:


Содержимое шаблона /template/structure/objects/fields_list.tpl

// Оформление для любого поля. Если значение поля пустое, ничего не выведется.
$TEMPLATE['default'] = <<<END
%title%: %value% </ br>	
END;

// Оформление для поля price. Если значение поля пустое, ничего не выведется.
$TEMPLATE['default'] = <<<END
%title%: %value% руб.</ br>	
END;

// Оформление для поля image. Вывод рисунка с масштабированием. Если у объекта нет рисунка, макрос выведет содержимое блока image_empty.
$TEMPLATE['image'] = <<<END
	<img src="%core.resize(%obj.image%, stRateably, 255)%" alt="%obj.name%" />
END;

// Оформление свойства image, если рисунок не указан.
$TEMPLATE['image_empty'] = <<<END
	<img src="/images/empty_img.gif" width="255" />
END;



Что-то не так? Напиши, учтем!