Domanda

ci sono per creare più parti web dopo un sito viene eseguito il provisioning con WSP. Posso creare sia wp da zero sull'azione funzione. O salvare una serie di WP in galleria e creare un'istanza di che, quando necessario. Il WSP per modello di sito crea anche lista e biblioteche dove questi wp andrà. La speranza che sto facendo senso. Quali sono le opzioni migliori per creare WP quando il sito è disposizioni. Dovrò aggiungere del codice per creare WP alla fine di provisioning sito, quindi sono certo sono state create tutte le liste. Si prega di suggerire.

È stato utile?

Soluzione

Ok, considerare che abbiamo questo ambiente:

  1. Abbiamo il file WSP-livello aziendale (anche questo potrebbe essere sandbox in questa situazione, ma per chiarezza, consideriamo che è una fattoria uno).
  2. Questo WSP contiene alcune liste e definizioni biblioteche / casi, e anche alcune WebParts visive.
  3. Inoltre, il file WSP contiene almeno una caratteristica in esso.
  4. Questo WSP è aggiunto nella tua fattoria, distribuito a raccolta siti specificata e funzione è attivata lì. Così, elenchi e raccolte vengono creati e webparts vengono aggiunti nella galleria.
  5. Dopo tutto questo fatto, vogliamo creare un'istanza di un webpart 'Webpart1' a 'default.aspx' pagina del sito.

Da questo punto, si può aggiungere del codice al ricevitore funzione (in FeatureActivated), per raggiungere il nostro obiettivo. Questo codice sarà smth come questo:

// prepare the webpart
var webPart = new WebPart1();
// ...here you can initialize some webpart properties, if needed

// fetch SPFile object for default.aspx page
SPFile page = web.RootFolder.Files["default.aspx"];
if (page.Exists)
{
   // ...here you probably need to check out the page if it is a publishing site

   // get LimitedWebPartManager object for the page
   var webPartManager = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
   // add our webpart into the 'Main' webpart zone, using zone index = 1
   webPartManager.AddWebPart(webpart, "Main", 1);

   // ...do not forget to commit your changes here if you are using publishing site

   // save our changes
   page.Update();
}

riferimenti MSDN:

  1. SPLimitedWebPartManager
  2. SPLimitedWebPartManager.AddWebPart
  3. Procedura: Lavorare con Web part in una pagina
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top