كيفية إضافة زر أو رابط إلى صفحة VisualForce التي لا تُعد وحدة التحكم القياسية هي نفس علامة التبويب "تطبيق"؟
-
26-09-2019 - |
سؤال
لدي صفحة Visualforce CompetitorSearch.page
هذا الاستخدام CompSearchDummy__c
كوحدة تحكم قياسية.
<apex:page StandardController="CompSearchDummy__c" extensions="CompetitorSearch">
إذا أردت إضافة زر مخصص على صفحة CompSearchDummy
, CompetitorSearch.page
يظهر لوجهة الصفحة.
لكن لدي Talent
الصفحة التي تستخدم Talent__c sObject
وعندما حاولت إضافة زر مخصص ومحاولة تعيين الوجهة ، CompetitorSearch.page
لا يظهر كخيار لأنني لم أرقى Talent__c
كما standard controller
.
هل من الممكن إضافة رابط صفحة منافسة.
المحلول
إذا فهمت سؤالك بشكل صحيح ، فأنت تريد إضافة ملف apex:commandButton
للذهاب إلى صفحة أخرى. عندما كنت على نفس الصفحة ، كان الأمر مجرد منعش نفسه ، ولكن للذهاب إلى صفحة أخرى ، تحتاج إلى تحديد إجراء في apex:commandButton
يشير ذلك إلى طريقة في امتداد وحدة التحكم التي تُرجع مؤتمرًا للمكان الذي تريد الذهاب إليه. مثله:
<apex:commandButton action="{!gotoCompetitorSearch}" value="Competitor Search" />
public PageReference gotoCompetitorSearch() {
return Page.CompetitorSearch;
}
ملاحظة ، إذا كنت لا تحتاج حقًا إلى زر أو منطق خاص وتريد فقط الانتقال إلى صفحة أخرى ، فيمكنك القيام بذلك باستخدام فقط apex:outputLink
مع عدم الحاجة إلى امتداد وحدة تحكم ، مثل هذا:
<apex:outputLink value="{!$Page.CompetitorSearch}">CompetitorSearch</apex:outputLink>