In Salesforce, Visualforce pages that are part of a Managed Package cannot be directly modified in a Subscriber Org. This is a platform restriction that protects the integrity of managed package components. This article explains two available approaches for working around this limitation: using Field Sets for dynamic field display, and creating a custom override of the managed package Visualforce page.
The cleanest solution is to generate the fields displayed in the Visualforce page dynamically, using Field Sets defined on the object. This approach avoids hardcoding field names and allows the Subscriber Org admin to control which fields are displayed without modifying the managed package page itself.
To implement this:
accountFieldSet on the Account object).apex:repeat component that iterates over the Field Set and renders an apex:InputField for each field.apex:repeat references $ObjectType.Account.fieldsets.accountFieldSet as its value, and uses {!Account[fieldValue]} to bind the field to the input.This approach allows fields to be added or removed from the Field Set without modifying the Visualforce page markup.
<apex:page standardController="Account">
<apex:form >
<apex:pageblock >
<apex:pageBlockSection title="Account detail">
<apex:repeat value="{!$ObjectType.Account.fieldsets.accountFieldSet}" var="fieldValue">
<apex:Inputfield value="{!Account[fieldValue]}"/>
</apex:repeat>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>
If the managed package's controller is defined as global, and all its public properties and methods are defined as global, a developer in the Subscriber Org can copy the managed package Visualforce page markup, create a new custom Visualforce page in their org, and reference the managed package controller and its properties and methods — including the namespace prefix.
To override the managed package Visualforce page using global virtual controllers:
global virtual.global virtual.000386272

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.