2014-01-13 3 views
0

Что бы я ни делал, применяется только тема, заданная в свойствах приложения. Идентификатор темы не работает должным образом.Как установить свойство id темы на Компоненты?

Например:

У меня есть два пользовательских элементов управления и каждый из них имеет 5 представлений. Я пытаюсь установить свойство title для всех представлений в первом настраиваемом элементе управления с темой, а также со вторым настраиваемым элементом управления, но с другой темой (и названием).

Оба пользовательских элемента управления существуют на одной странице.

Проблема Я пытаюсь решить, вместо того, чтобы вводить функции для свойств для каждого компонента того же типа, я хочу делать это только в одном месте. В этом случае все представления в одном настраиваемом элементе управления. Или все виды в панели ...

+0

Это поймало меня на некоторое время. Элемент ThemeID элемента управления - это контроль над тем, какие правила в теме приложения применяются к элементу управления, например класс в CSS. Здесь не нужно указывать совершенно другую тему. например вы можете поместить Button.Submit или Button.Fancy в ThemeID для управления вариацией и поместить конфиг в тему, которая применима только к этим версиям. –

ответ

0

Относительно тем: afaik мы можем определить только одну тему для каждого приложения. Эта тема может наследовать другие темы, но их необходимо установить и зарегистрировать на уровне файловой системы для всего сервера.

Что касается вашего сценария:

Если вы действительно хотите, чтобы решить, что с темами вы могли бы работать с отдельными тематическими идентификаторами. Но я действительно не вижу преимуществ использования тем здесь. Насколько я понимаю вашу задачу, я бы решил ее использовать с помощью пользовательских свойств для ваших пользовательских элементов управления. Заголовок представления затем будет вычисляться ссылаться на эту собственность, как в

<xp:viewTitle xp:key="viewTitle" id="viewTitle1" 
    value="#{javascript:compositeData.ccViewTitle}"> 
</xp:viewTitle> 

На время разработки, содержащий XPage или пользовательский элемент управления будет затем подать соответствующее название вида для контроля ребенка:

<xc:ccInner ccViewTitle="View Title for First CC in Page"></xc:ccInner> 
<xc:ccInner ccViewTitle="View Title for Second CC in Page"></xc:ccInner> 

Вы также может вычислить это значение, если это необходимо.

+0

Это должно решить ее. Будет сообщаться с реализацией. – Ermo

Смежные вопросы