У меня есть страница Visualforce с настраиваемым контроллером, который используется для редактирования нескольких записей при возможности.
Я хочу создать настраиваемую кнопку или ссылку из раздела "Возможности" на эту страницу Visualforce.
В настоящее время ссылка выглядит так:
/apex/ExamplePage?oppId={!Opportunity.Id}
Это отлично работает в изолированной программной среде разработки, но когда она развертывается как часть управляемого пакета, ссылка разрывается, поскольку ссылка на страницу не имеет префикса пространства имен.
Я нашел сообщение Проблема перенаправления управляемого пакета на досках обсуждения Force.com, в котором говорилось, что можно использовать $ Page для ссылки на страницу Visualforce в URL-адресе. Например.
{!URLFOR($Page.MyExamplePage,'',[objectId = campaign.id])}
Но это дает мне только синтаксическую ошибку:
Ошибка: Поле $ Page.MyExamplePage не существует. Проверять орфографию.
Есть еще одна часть сообщения, в которой предлагается использовать класс Apex и Execute Javascript, чтобы обойти это. Но мне кажется, что это только что переместило проблему пространства имен в Javascript.
Как я могу безопасно ссылаться на страницу Visualforce для работы как внутри, так и вне управляемого пакета?