Как теперь передавать параметры у ТДС?

#
Как теперь передавать параметры у ТДС?
Создал доп свойство у ТДС -- lang. Добавил ему значения. Как теперь передавать его в ИС в HostCMS 6 не понял. Разобраться самостоятельно не смог. Не передается и не выводится.
Помогите пожалуйста с примером. Как его прописать в коде ТДС и на всякий случай (вдруг что новое) как вывести теперь в шаблоне ИС.
Заранее спасибо
#
Re: Как теперь передавать параметры у ТДС?
под *доп. свойством подразумевал "параметр"
#
Re: Как теперь передавать параметры у ТДС?
В ТДС пишете
$myParam = Core_Array::get(Core_Page::instance()->libParams, 'myParamName');

В вашем случае, вместо myParamName будет lang, в ТДС значение этого параметра попадет в переменную $myParam.
Заказов не беру. Консультирую редко.
#
Re: Re: Как теперь передавать параметры у ТДС?
Спасибо за ответ, но не работает.

В ТДС пишу

// Текстовая информация для указания номера страницы, например "страница"
$pageName = Core_Array::get(Core_Page::instance()->libParams, 'page')
   ? Core_Array::get(Core_Page::instance()->libParams, 'page')
   : 'страница';

// Разделитель в заголовке страницы
$pageSeparator = Core_Array::get(Core_Page::instance()->libParams, 'separator')
   ? Core_Page::instance()->libParams['separator']
   : ' / ';

// Язык
$myLang = Core_Array::get(Core_Page::instance()->libParams, 'lang');

$aTitle = array($oInformationsystem->name);
$aDescription = array($oInformationsystem->name);
$aKeywords = array($oInformationsystem->name);


В XSL:

<xsl:value-of select="lang" />

#
Re: Как теперь передавать параметры у ТДС?
ошибся, так
<xsl:value-of select="myLang" />



но не работает
#
Re: Как теперь передавать параметры у ТДС?
UncleShnyuk, так в XML оно от этого не появится.

$myLang = Core_Array::get(Core_Page::instance()->libParams, 'lang');

Это вы в ТДС получили значение параметра lang.
А теперь его еще надо передать в XML - об этом тут, http://hostcms.ru/forums/2/7584/ правда на примере контроллера структуры, а не ИС.

Но смысл тот же, перед строчкой
->show()

вставляете строку
->addEntity(Core::factory('Core_Xml_Entity')->name('myLang')->value($myLang))


Можно, в принципе, и сократить эти две строки до одной:
->addEntity(Core::factory('Core_Xml_Entity')->name('myLang')->value(Core_Array::get(Core_Page::instance()->libParams, 'lang')))
Заказов не беру. Консультирую редко.
#
Re: Re: Как теперь передавать параметры у ТДС?
Большое Вам спасибо! Теперь стало понятно, как это по человечески делается. Только вот не ясно, откуда берутся все эти сведения. В справочнике по API и другой документации этого я не находил. Возможно плохо искал, но как правило, действительно нужные вещи на которые возникают вопросы -- не описываются
#
Re: Как теперь передавать параметры у ТДС?
UncleShnyuk, эти и многие другие интересные сведения берутся из внимательного чтения исходных кодов модулей и ТДС.
Заказов не беру. Консультирую редко.
#
Re: Re: Как теперь передавать параметры у ТДС?
Не подскажете еще один нюанс. Вот я передал так:

$Informationsystem_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
->addEntity(Core::factory('Core_Xml_Entity')->name('myLang')->value(Core_Array::get(Core_Page::instance()->libParams, 'lang')))
   ->show();


Однако, при выводе Списка ИС -- все ОК, а вот при выводе Элемента ИС, значение myLang теряется (пусто). В чем может быть дело?

#
Re: Как теперь передавать параметры у ТДС?
Разобрался.
При выводе в Списка:
select="myLang"


При выводе элемента:
select="/informationsystem/myLang"

Авторизация