Дополнительное свойство структуры в xml информационной системы

#
Дополнительное свойство структуры в xml информационной системы
В структуре есть дополнительное свойство PageDescr - краткое описание страницы которое может выводиться перед списком элементов ИС.

Получение доп свойств структуры в макете:
   $oStructure = Core_Entity::factory('Structure',  CURRENT_STRUCTURE_ID);
   $aPropertyValues = $oStructure->getPropertyValues();
   foreach($aPropertyValues as $val) {
      $GLOBALS['PageProp'][$val->property_id]=$val->value; //
   }

как тут получить название тега вместо id?

Для того чтоб передать эти свойства в xml информационной системы прикрепленной к разделу зашел в "Редактирование узла структуры"
в параметрах Раздел: Информационная система, Страница [1] Информационная система нажал редактировать и в "Редактирование типовой динамической страницы" на вкладке "Код страницы" добавил строку
$Informationsystem_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
   ->addEntity(Core::factory('Core_Xml_Entity')->name('PageDescr')->value($GLOBALS['PageProp'][74]))
   ->show();


в xsl
<xsl:template match="/informationsystem">
   <p><xsl:value-of disable-output-escaping="yes" select="PageDescr"/></p>

Задача выполнена.

Правильно ли? Может это делается как-то иначе, может не стоит лезть в "Редактирование типовой динамической страницы"?

Влад
Модератор
#
Re: Дополнительное свойство структуры в xml информационной системы
Связь со свойством через ->Property, соответственно название будет $val->Property->tag_name
P.S. $GLOBALS - плохо, что сразу мешает данные добавлять контроллеру?
#
Re: Дополнительное свойство структуры в xml информационной системы
Во! Вопрос неправильно задан. Что мешает получать свойства не в макете а в "Редактирование типовой динамической страницы"
Теперь так:
   $oStructure = Core_Entity::factory('Structure',  CURRENT_STRUCTURE_ID);
   $aPropertyValues = $oStructure->getPropertyValues();
   foreach($aPropertyValues as $val) {
      $Informationsystem_Controller_Show ->addEntity(Core::factory('Core_Xml_Entity')->name("Page".$val->Property->tag_name)->value($val->value));
   }

$Informationsystem_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
   ->show();
Влад
Модератор
#
Re: Дополнительное свойство структуры в xml информационной системы
w,
где же вы размещаете этот код?
#
Re: Дополнительное свойство структуры в xml информационной системы
В макете размещал, исправил сообщение выше. Спасибо.
Влад
Авторизация