Loading
Udvid Salesforce med klik, ikke kode
Indhold
Vælg filtre

          Ingen resultater
          Ingen resultater
          Her er nogle søgetips

          Kontroller stavemåden for dine søgeord.
          Brug mere generelle søgeudtryk.
          Vælg færre filtre for at gøre søgningen bredere.

          Søg efter alle i Hjælp til Salesforce
          Visualforce-sider som globale tilpassede handlinger

          Visualforce-sider som globale tilpassede handlinger

          Visualforce-sider, der bruges som globale handlinger, kan kaldes mange forskellige steder og har ikke en specifik registrering tilknyttet. De har fuldstændig "handlefrihed", hvilket betyder, at det er op til dig at skrive koden.

          EditionsHeading

          Tilgængelig i: både Salesforce Classic og Lightning Experience
          Tilgængelig i: Group, Professional, Enterprise, Performance, Unlimited, Contact Manager, Database.com og Developer Edition

          Visualforce-sider, du opretter, som skal bruges som globale handlinger, kan ikke bruge en standardobjektcontroller. Du skal skrive en tilpasset controller til at håndtere siden.

          Når en global handling er fuldført, omdirigeres brugeren enten til en overordnet registrering, der er oprettet som del af handlingen eller returneres til det sted, de startede.

          Dette kodeeksempel viser en Visualforce-side, der er designet til at blive brugt som en tilpasset handling på ethvert objekt, der understøtter handlinger. Denne handling giver brugerne mulighed for at oprette sager fra registreringsdetaljesider, Chatter, Chatter-grupper (bortset fra kundegrupper) eller startsiden. Den har en anden brugergrænseflade end standardoprettelseshandlinger. Som med alle globale handlinger bliver registreringerne, der oprettes via denne handling, ikke tilknyttet andre registreringer.

          <!-- Custom controller -->
          public with sharing class CreateCaseController {
              public Case theCase {get; set;}
              public String lastError {get; set;}
              public CreateCaseController() {
                  theCase = new Case();
                  lastError = '';
              }
                
              public PageReference createCase() {
                  createNewCase();
                  theCase = new Case();
                  return null;
              }
                 
               private void createNewCase() {      
                  try {
                      insert theCase;
                      
                      FeedItem post = new FeedItem();
                      post.ParentId = ApexPages.currentPage().getParameters().get('id');
                      post.Body = 'created a case';
                      post.type = 'LinkPost'; 
                      post.LinkUrl = '/' + theCase.id;
                      post.Title = theCase.Subject;
                      insert post;
                  } catch(System.Exception ex){
                     lastError = ex.getMessage();
                  }
              }   
          }
          
          <apex:page controller="CreateCaseController" showHeader="false">
              <script type='text/javascript' src='/canvas/sdk/js/publisher.js'/>
              <style>
                  .requiredInput .requiredBlock, .requiredBlock {background-color: white;}
                  .custompubblock div {display: inline-block;}
                  .custompublabel {width:54px;}
              </style>
             
               <script>
                function refreshFeed() {
                    Sfdc.canvas.publisher.publish({name : 'publisher.refresh',  payload : {feed: true}});
                }
               </script>
             
              
              <div>
                  <apex:form >
                      <apex:actionFunction action="{!createCase}" name="createCase" rerender="out" oncomplete="refreshFeed();"/> 
                      <apex:outputPanel id="out" >
                          <div class="custompubblock">
                              <div>Subject:&nbsp;</div><apex:inputField value="{!theCase.subject}" style="width:500px;" />
                          </div>
                          <div class="custompubblock">
                              <div class="custompublabel">Account:</div><apex:inputField value="{!theCase.accountId}" 
                              style="margin-left:0;"/>&nbsp;&nbsp;&nbsp;
                              <div>Contact:&nbsp;</div><apex:inputField value="{!theCase.contactId}" />
                          </div>
                          <apex:inputField value="{!theCase.description}" style="width:500px;height:92px;margin-top:4px;" />
                          <div class="custompubblock" style="margin-top:5px;">
                              <div>Status:&nbsp;</div><apex:inputField value="{!theCase.status}" />&nbsp;&nbsp;&nbsp;
                              <div>Priority:&nbsp;</div><apex:inputField value="{!theCase.priority}" />&nbsp;&nbsp;&nbsp;
                              <div>Case Origin:&nbsp;</div><apex:inputField value="{!theCase.origin}" />
                         </div>
                          <div style="color:red;">{!lastError}</div>
                      </apex:outputPanel>
                  </apex:form><br/>
                  <button type="button" onclick="createCase();" style="position:fixed;bottom:0px;right:0px;padding:5px 10px; 
                  font-size:13px; font-weight:bold; line-height: 
                  18px;background-color:#0271BF;background-image:-moz-linear-gradient(#2DADDC, #0271BF);background-repeat:repeat-x;
                  border-color:#096EB3;" id="addcasebutton">Create Case</button>
              </div>            
          </apex:page>

          Krav til opdatering af værtssider

          Hvis du ønsker, at en tilpasset handling, objektspecifik eller global, skal opdatere feedet på værtssiden, skal Visualforce-siden, du opretter til brug for den pågældende handling:

          • Referere til JavaScript-handlingsområdefilen: <script type='text/javascript' src='/canvas/sdk/js/publisher.js'/>. (Oprettelse af tilpassede Visualforce-handlinger kræver ikke Lærred-SDK.)
          • Indeholde dette JavaScript-kald: Sfdc.canvas.publisher.publish({name : 'publisher.refresh', payload : {feed:true}});.
           
          Indlæser
          Salesforce Help | Article