Здраствуйте, можно ли как то в Апексе зная 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 будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.
Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени
[quote="Dmitry Shnyrev"]Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.
Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.[/quote]
Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени
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 вместо кастом сеттингс в некоторых случаях.
[quote]Ну на самом деле это только половина правды. В странице ты можешь обратиться к Custom Label и по имени[/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="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;
}
что то вроде такого.я даже больше скажку мы сохраняем туда даже шаблоны емайлов.
Ну на самом деле это только половина правды. В странице ты можешь обратиться к 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]> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.
Зашел вчера в эту тему - весь день изучал Page messages после этого.
Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.
Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста. Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessages> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.
Не совсем понятна твоя проблема, приаттач скрин плиз.
[quote="Den Brown"]Зашел вчера в эту тему - весь день изучал Page messages после этого.
Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.
Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста.
Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessage[b]s[/b]> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.[/quote]
Не совсем понятна твоя проблема, приаттач скрин плиз.
Не совсем понятна твоя проблема, приаттач скрин плиз.
Ситуация проста: когда вывожу Сообщения через <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?
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
попробуй найти 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ом внутри моего дива-оберки. Надо посмотреть в генерируемой разметке и попробовать зацепить его.