Изучаю как lightningStylesheets="true" меняет стандартные стили апекс-тегов в ВФ на лайтнинго-подобный вид, для этого создал Тэб для ВФ страницы и включил его в один из (стандартных) Lightning Эппов.
но как передать URL параметр в VisualForce страницу, открытой в Lightning Experience?
просто pageName?id=zzzzzzzzz - не работает
есть идеи на этот счет???
использовать VisualForce страницы без "входящих" URL параметров фактически не возможно.
А просто открыть VF страницу по старинке через /apex/PageName?id=zzzzzzzzz
в Lightning Experience не получается?
Я так давно уже VF страницы в LE открываю напрямую и передают туда параметры и вроде никогда проблем не замечал.
Вообще урл в лайтнинге это толи base64 encoded то ли что-то еще какая штуковина(делал сам, не помню правда ничего)
можно сделать new page reference и заэнкодить его, и добавить к one.app
но вообще vf страницы все также будут открываться, как раньше, только без шапки
кстати вот походу один из вариантов base 64
Hi, i want to help you all with this problem.I noticed the string after the "aloha#" in the URL just after you use the "global search" on Salesforce Lightning is just a Base64 encoded string, so i entered on a website (https://www.base64encode.org) and pasted that string (remember, after the aloha#) and decoded it, and founded this:
{"componentDef":"forceSearch:search","attributes":{"term":"SEARCH STRING","scopeMap":{"type":"TOP_RESULTS"},"context":{"disableSpellCorrection":false,"SEARCH_ACTIVITY":{"searchId":"df6707e4-b867-a197-925b-557d75cc18dc","startTime":1503500649656,"term":"SEARCH STRING"}}}}
Inmediatelly i gone into "Encode" section of website, and tryed the following string (notice i removed the searchId and startTime parameters):
{"componentDef":"forceSearch:search","attributes":{"term":"SEARCH STRING 2","scopeMap":{"type":"TOP_RESULTS"},"context":{"disableSpellCorrection":false,"SEARCH_ACTIVITY":{"term":"SEARCH STRING 2"}}}}
Then Base64 encoded it and pasted it after the "aloha#" (resulting url was something like: https://na30.lightning.force.com/one/one.app?source=aloha#THECOMPLETEBASE64ENCODEDSTRING).
And "voila"... Lightning Global Search working as Classic did...
Actually don't tryed on another parts of Lightning but i'm pretty sure it will behave the same.
https://success.salesforce.com/answers?id=9063A0000019OLKQA2
а тебе по идее нужен будет
{"componentDef":"one:alohaPage","attributes":{"address":"/apex/SearchOperator"}}оказывается там (по крайней мере) два варианта открытия ВФ страницы в Лайтнинге:
(1) /apex/PageName?id=zzzzzzzzz - открывает голую страницу, параметры передаются. Пойдет для ПДФ страниц к примеру. Или нужно делать навигационные линки на странице, так как стандартной лайтнинг шапки там нет
(2) /lightning/n/PageTabName?id=zzzzzzzzz- а можно открыть и так, это будет VF page Tab - и тут УРЛ параметры исчезают и не передаются в контроллер. И обратите внимание! В УРЛ используется имя Тэба, а не страницы, что может быть не очевидным, если вы используете одинаковые имена для того и другого.
ok, буду дальше изучать вопрос
/lightning/n/PageTabName?c__id=zzzzzzzzz
Вот так попробуй.
Попробовал.
?c__id=zzzzzzzzz - параметры не исчезают автоматически при загрузке Таба, но и не проваливаются до контроллера страницы, по крайней мере так их не получишь:
ApexPages.currentPage().getParameters().get('c__id');
может только как-то получить в контролере урл целиком и распарсить его