Здраствуйте, можно ли как то в Апексе зная id Custom Label получить значение value? Ну или зная id палучить Name? Можно както используя Metadata API витянуть в Апексе значение Custom Label?
Из apex обращаться к Custom Labels по ходу нельзя. По предназначению нельзя. Это всего лишь строковые константы, которые вынесены из кода, для того чтобы их можно было удобно менять и переводить.
Но я так понимаю тебе необходимо обратиться к внутренностям Salesforce, поэтому вариант с Metadata будет единственно возможным. Хотя это задача явно выбивается из круга повседневных и больше подходит в качестве инструмента для разработки.
Cогласен с wilder что вызывать можно пример : System.Label.Your_Interview_feedback_has_been_Saved если из пакета тогда нужно добавить префикс.Мы даже когдато в компании пришли к решению что лучше было бы использовать labels вместо кастом сеттингс в некоторых случаях.
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']}"/>
Зашел вчера в эту тему - весь день изучал Page messages после этого.
Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.
Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста. Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessages> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.
Зашел вчера в эту тему - весь день изучал Page messages после этого.
Одно не получилось: взять под контроль выводимую ширину блока сообщения. Стиль сообщения перезаписывает ширину и все.
Пришлось на див обертку ставить позишин:абсолют и тогда ширина сообщения скинулась до фиксированной минимальной ширину около 220 пк, но она неуправляемо увеличивается при увеличении текста. Для "статичных" условно-рендерящихся сообщений можно вообще и не использовать <apex:pageMessage> а сделать свое собственное, используюя стандартные иконки. А вот c <apex:pageMessages> так просто не получится, пока не знаю как взять под контроль ширину блока стандартного сообщения.
Не совсем понятна твоя проблема, приаттач скрин плиз.
Не совсем понятна твоя проблема, приаттач скрин плиз.
Ситуация проста: когда вывожу Сообщения через <apex:pageMessages> или <apex:pageMessage> на ВФ страницу - то бокс сообщения (желтый бокс с текстом, обведен красной, желтой, синей или зеленой рамкой) растягивается на всю доступную ширину.
Я сажаю <apex:pageMessages> или <apex:pageMessage> в див-обертку, которому задаю фиксированную ширину - бокс сообщения, находящийся внутри этого дива, все равно растягивается на весь экран.
а я то использовал apex:pageMessage(s)! у которых нет атрибута styleСlass: Error: Unsupported attribute styleclass in <apex:pageMessage>
сейчас буду пробовать, спасибо
PS: вижу разницу: apex:messages выводит текст пришедших с контроллера сообщений (варианта со статичными сообщениями вроде apex:pageMessage здесь нет). И у этих сообщений нет никаго оформления - делаешь это сам.
попробуй найти css, который отвечает за width: 100% и поставить ему нужный width: ... !important
так у apex:pageMessage стандартные SF стили. Я их не могу поменять. Можно найти сам элемент (цветной бокс) и програмно перезаписать у него инлайн стиль с width: ... !important, но много мороки. Хотя почему много мороки? наверняка этот бокс будет childом внутри моего дива-оберки. Надо посмотреть в генерируемой разметке и попробовать зацепить его.