W jaki sposób można zmodyfikować szablon e-mail dla alertu na konkretnej liście?
W jaki sposób można zmodyfikować szablon e-mail dla alertu na konkretnej liście?
Oczekiwany efekt można uzyskać wykonując dwa kroki:
Krok 1:
Własny szablon alertu tworzymy, kopiując i dostosowując plik alerttemplates.xml znajdujący się w ścieżce $SHAREPOINT_ROOT$\TEMPLATE\XML
(C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML). Po dostosowaniu szablonu należy pamiętać o zaktualizowaniu listy szablonów alertów na serwerze
np. za pomocą operacji STSADM updatealerttemplates.
Krok 2:
Powiązanie między listą a szablonem alertu może być wykonane na trzy sposoby, tzn. dowiązanie do typu listy, instancji listy lub typu zawartości.
Ponieważ pytanie dotyczy konkretnej listy czyli instancji należy posłużyć się modelem obiektowym i zmodyfikować właściwość AlertTemplate dla obiektu SPList reprezentującego instancję.
Przykładowy skrypt, modyfikujący szablon alertu na konkretnej liście:
$siteUrl = 'site url'
$listName = 'list name'
$alertTemplate = 'Alert template'
$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$AlertsTemplateCollection = new-object Microsoft.SharePoint.SPAlertTemplateCollection($contentService)
$gc = Start-SPAssignment
$web = $gc | Get-SPWeb $siteUrl
$list = $web.lists[$listName]
$list.AlertTemplate = $AlertsTemplateCollection[$alertTemplate]
$list.Update()
Stop-SPAssignment –Identity $gc
Do uruchomienia skryptu potrzebny jest Snap-in PowerShell dla SharePoint (np. z SharePoint Management Shell) oraz wprowadzenie w 3 pierwszych linijkach niezbędnych danych: