2016-08-16 4 views
0

У меня есть требование, в котором, если я нажимаю на новую кнопку пользовательского объекта, она должна быть перенаправлена ​​на страницу VF, если это профиль поддержки. иначе он должен показывать стандартную страницу. Может кто-то помочь мне с этим. Ниже приведен код, который я попробовал.Нажмите на новую кнопку для перенаправления на страницу vf на основе профиля

<apex:page standardController="customobject__c" extensions="customvfpagecontroller1" action="{!redirect}"> 

    public PageReference redirect() { 

    PageReference newPage; 
    Id tProfile = [select Id from Profile where Name = 'TSupport' limit 1][0].Id; 
    Id profileId=userinfo.getProfileId(); 
    if(profileId == tProfile) 
    { 
     newPage = Page.vfpage1; 
     return newPage.setRedirect(true); 
    } else { 
     //it should redirect to standard new page of the custom object 

    } 
+0

Вы уже пытались что-либо сделать? –

+0

Я попробовал приведенный ниже код, но он, похоже, не работает. и я добавил reDirect к действию страницы. public PageReference redirect() { PageReference newPage; \t \t Id tProfile = [select Id from Profile, где Name = 'TSupport' limit 1] [0] .Id; \t \t Id profileId = userinfo.getProfileId(); if (profileId == tProfile) { \t \t \t newPage = Страница .custompage1; return newPage.setRedirect (true); } еще { \t \t // Это должно перенаправлять на стандартную новую страницу customobecject \t возврата нулевой } – bksfdc

+0

будет лучше, чтобы добавить свой код в тело вопроса. Люди смогут быстро понять, как вам помочь –

ответ

0

На странице пользовательских объектов в верхней части экрана нажмите «Кнопки, ссылки и действия»> «Новая кнопка» или «Ссылка».

Этикетка это новое, и назовите его New_Custom или что-то в этом роде.

Тогда ваша логика может быть вдоль линий

IF({!$Profile.Name}=='TSupport','/apex/vfpage1',URLFOR($Action.CustomObject__c.New, null, save=1)) 

Вы, к сожалению, придется статически установить/апекс/vfpage1 поскольку $ Страница не поддерживается там.