Вебтекст (webtext) в Showcase

Материал из Course Orchestra
Перейти к: навигация, поиск
Showcase

Создание решений на КУРС:Showcase


Информацию о формировании webtext с помощью процедуры Celesta см. в этом разделе.

Ниже дано руководство по формированию webtext на основе данных, возвращаемых хранимой процедурой.

Шаблон процедуры:

CREATE PROC 
	@main_context varchar(MAX)='',
	@add_context varchar(MAX)='',
	@filterinfo xml='',
	@session_context xml='',
	@element_Id varchar(MAX)='',
	@data xml ='' output,
        @settings xml ='' output

Обратите внимание, что начиная с версии 2.2.1 используются "обезличенные" названия параметров @data и @settings. Это имеет значение для веб-текста в sql скриптах.

Структура @data

Структура xml - любая, но обязательно содержащая корневой тэг. К ней может быть применено xslt преобразование, написанное пользователем. На выходе этого преобразования должен быть HTML код.

Структура @settings

Структура @settings определяется файлом схемы webtextsettings.xsd и имеет следующий вид:

<properties>
    <action>
	default action
    </action>
    <event name="single_click" linkId="linkId">
	<action>
            ...........
        </action>
    </event>
</properties>

В полученном HTML ссылки должны иметь такой вид:

<a onclick="gwtWebTextFunc(''${elementId}'', ''linkId'', ''overridenValue'', ''replaceWhat'', ''replaceID'')"> 
   Гиперактивная ссылка</a>

где 3-й, 4-й и 5-й параметры - необязательные. overridenValue != null заменяет один из параметров действия у всех элементов действия, а также у всех дочерних действий. Что именно он заменяет - зависит от значения 4-го параметра. Его возможные значения:

  • ADD_CONTEXT,
  • MAIN_CONTEXT,
  • FILTER_CONTEXT,
  • ELEMENT_ID


Если 4-й параметр не задан - используется значение по умолчанию ADD_CONTEXT. В случае замены ID у одного из элементов действия 5-й параметр играет роль изначального ID заменяемого элемента. Если 5-й параметр не указан - заменяется ID у первого по счету элемента.

Обратите внимание. Если необходимо заменить ID у нескольких элементов - нужно сделать несколько ссылок либо к одной ссылке привязать несколько вызовов функции gwtWebTextFunc :)

Обратите внимание, замена параметра одноразовая - т.е. после вызова действия с заменой последующие вызовы без замены будут передавать в БД значение add_context, которое имели изначально.