Регистрация  |  Вход

Custom Label API

Здраствуйте, можно ли как то в Апексе зная id Custom Label получить значение value?
Ну или зная id палучить Name?
Можно както используя Metadata API витянуть в Апексе значение Custom Label?

Здраствуйте, можно ли как то в Апексе зная id Custom Label получить значение value?
Ну или зная id палучить Name?
Можно както используя Metadata API витянуть в Апексе значение Custom Label?

Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.

Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.

Dmitry Shnyrev
Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.

Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени

[quote="Dmitry Shnyrev"]Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.[/quote]

Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени

Dmitry Shnyrev
Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.


Cогласен с wilder что вызывать можно пример : System.Label.Your_Interview_feedback_has_been_Saved если из пакета тогда нужно добавить префикс.Мы даже когдато в компании пришли к решению что лучше было бы использовать labels вместо кастом сеттингс в некоторых случаях.

[quote="Dmitry Shnyrev"]Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.

Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.[/quote]
Cогласен с wilder что вызывать можно пример : System.Label.Your_Interview_feedback_has_been_Saved если из пакета тогда нужно добавить префикс.Мы даже когдато в компании пришли к решению что лучше было бы использовать labels вместо кастом сеттингс в некоторых случаях.

Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени

Ты имеешь в виду динамическое обращение?

[quote]Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени[/quote]

Ты имеешь в виду динамическое обращение?

Dmitry Shnyrev
Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени

Ты имеешь в виду динамическое обращение?


public PageReference save() {
//Overridden method save
controller.save();
//Show message after method Save
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,
System.Label.Your_Interview_feedback_has_been_Saved));

return null;
}
что то вроде такого.я даже больше скажку мы сохраняем туда даже шаблоны емайлов.

[quote="Dmitry Shnyrev"][quote]Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени[/quote]

Ты имеешь в виду динамическое обращение?[/quote]
	public PageReference save() {
		//Overridden method save
		controller.save();
		//Show message after method Save
		ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,
					System.Label.Your_Interview_feedback_has_been_Saved));

		return null;
	}
что то вроде такого.я даже больше скажку мы сохраняем туда даже шаблоны емайлов.

Sergey Prichepo
Dmitry Shnyrev
Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени

Ты имеешь в виду динамическое обращение?


public PageReference save() {
//Overridden method save
controller.save();
//Show message after method Save
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,
System.Label.Your_Interview_feedback_has_been_Saved));

return null;
}
что то вроде такого.я даже больше скажку мы сохраняем туда даже шаблоны емайлов.


Да именно так на странице можно использовать конструкцию вида <apex:outputtext value="{!$label['test']}"/>

[quote="Sergey Prichepo"][quote="Dmitry Shnyrev"][quote]Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени[/quote]

Ты имеешь в виду динамическое обращение?[/quote]
	public PageReference save() {
		//Overridden method save
		controller.save();
		//Show message after method Save
		ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,
					System.Label.Your_Interview_feedback_has_been_Saved));

		return null;
	}
что то вроде такого.я даже больше скажку мы сохраняем туда даже шаблоны емайлов.[/quote]


Да именно так на странице можно использовать конструкцию вида <apex:outputtext value="{!$label['test']}"/>

Зашел вчера в эту тему - весь день изучал Page messages после этого.

Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.

Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста.
Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessages> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.

Зашел вчера в эту тему - весь день изучал Page messages после этого.

Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.

Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста.
Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать  <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessage[b]s[/b]> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.

Den Brown
Зашел вчера в эту тему - весь день изучал Page messages после этого.

Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.

Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста.
Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessages> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.

Не совсем понятна твоя проблема, приаттач скрин плиз.

[quote="Den Brown"]Зашел вчера в эту тему - весь день изучал Page messages после этого.

Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.

Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста.
Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать  <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessage[b]s[/b]> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.[/quote]

Не совсем понятна твоя проблема, приаттач скрин плиз.

wilder
Не совсем понятна твоя проблема, приаттач скрин плиз.

Ситуация проста:
когда вывожу Сообщения через <apex:pageMessages> или <apex:pageMessage> на ВФ страницу - то бокс сообщения (желтый бокс с текстом, обведен красной, желтой, синей или зеленой рамкой) растягивается на всю доступную ширину.

Я сажаю <apex:pageMessages> или <apex:pageMessage> в див-обертку, которому задаю фиксированную ширину - бокс сообщения, находящийся внутри этого дива, все равно растягивается на весь экран.

[quote="wilder"]Не совсем понятна твоя проблема, приаттач скрин плиз.[/quote]

Ситуация проста:
когда вывожу Сообщения через <apex:pageMessages> или <apex:pageMessage> на ВФ страницу - то бокс сообщения (желтый бокс с текстом, обведен красной, желтой, синей или зеленой рамкой) растягивается на всю доступную ширину.

Я сажаю <apex:pageMessages> или <apex:pageMessage> в див-обертку, которому задаю фиксированную ширину - бокс сообщения, находящийся внутри этого дива, все равно растягивается на весь экран.

А попробовать поиграться с apex:messages (!) с styleClass параметром?

Я не силен в верстке. Но как вариант - запихнуть классик и посмотреть border и border-radius?

А попробовать поиграться с apex:messages (!)  с styleClass параметром?

Я не силен в верстке. Но как вариант - запихнуть классик и посмотреть  border и border-radius?

Art Vegas
apex:messages

!!!!!

а я то использовал apex:pageMessage(s)! у которых нет атрибута styleСlass:
Error: Unsupported attribute styleclass in <apex:pageMessage>

сейчас буду пробовать, спасибо

PS: вижу разницу:
apex:messages выводит текст пришедших с контроллера сообщений (варианта со статичными сообщениями вроде apex:pageMessage здесь нет). И у этих сообщений нет никаго оформления - делаешь это сам.

[quote="Art Vegas"]apex:messages[/quote]

!!!!!

а я то использовал  apex:[b]page[/b]Message(s)!  у которых нет атрибута styleСlass:
Error: Unsupported attribute styleclass in <apex:pageMessage> 

сейчас буду пробовать, спасибо

PS: вижу разницу:
apex:messages выводит текст пришедших с контроллера сообщений (варианта со статичными сообщениями вроде apex:pageMessage здесь нет). И у этих сообщений нет никаго оформления - делаешь это сам.

попробуй найти css, который отвечает за width: 100% и поставить ему нужный width: ... !important

попробуй найти css, который отвечает за width: 100% и поставить ему нужный width: ... !important

Dmitry Shnyrev
попробуй найти css, который отвечает за width: 100% и поставить ему нужный width: ... !important

так у apex:pageMessage стандартные SF стили. Я их не могу поменять. Можно найти сам элемент (цветной бокс) и програмно перезаписать у него инлайн стиль с width: ... !important, но много мороки. Хотя почему много мороки? наверняка этот бокс будет childом внутри моего дива-оберки. Надо посмотреть в генерируемой разметке и попробовать зацепить его.

[quote="Dmitry Shnyrev"]попробуй найти css, который отвечает за width: 100% и поставить ему нужный width: ... !important[/quote]

так у apex:pageMessage стандартные SF стили. Я их не могу поменять. Можно найти сам элемент (цветной бокс) и програмно перезаписать у него инлайн стиль с width: ... !important, но много мороки. Хотя почему много мороки? наверняка этот бокс будет childом внутри моего дива-оберки. Надо посмотреть в генерируемой разметке и попробовать зацепить его.