Tengo una página de Visualforce que utiliza un controlador personalizado que se utiliza para editar varios registros en una oportunidad.Botón personalizado o vínculo a una página de Visualforce con un controlador personalizado
Me gustaría crear un botón o enlace personalizado desde Oportunidades a esta página de Visualforce.
Actualmente el enlace parece:
/apex/ExamplePage?oppId={!Opportunity.Id}
Esto funciona bien en el arenero de desarrollo, pero cuando se implementa como parte de un paquete conseguido el link se rompe como la referencia de página no tiene el prefijo de espacio de nombres .
Encontré la publicación Managed Package Redirecting Problem en los Foros de discusión de Force.com que implicaba que era posible usar $ Page para hacer referencia a la página de Visualforce en la URL. P.ej.
{!URLFOR($Page.MyExamplePage,'',[objectId = campaign.id])}
Pero hacerlo sólo me da el error de sintaxis:
Error: Field $Page.MyExamplePage does not exist. Check spelling.
Hay otra parte que el post que sugiere el uso de una clase de Apex y ejecutar Javascript para trabajar alrededor de ella. Pero me parece que esto acaba de mover el problema del espacio de nombres al Javascript.
¿Cómo puedo hacer referencia de forma segura a la página de Visualforce para que funcione tanto dentro como fuera de un paquete administrado?
Encontré [Botón personalizado: Exponer $ Page en el Tipo de contenido de URL] (https://sites.secure.force.com/success/ideaView?id=08730000000aVIfAAM) en IdeaExchange que sería bueno promocionar. –