SPAlert срабатывает при публикации страницы определенного типа контента

Может кто-нибудь, пожалуйста, дайте мне знать, как вызвать оповещение только тогда, когда в MOSS опубликована страница определенного типа контента?

Требуется настроить оповещения в библиотеке страниц сайта публикации для отправки уведомлений, когда кто-то создал страницу с использованием определенного типа контента и опубликовал страницу. Мне удалось вызвать предупреждение для страниц, созданных с использованием типа контента. И отдельно, когда страница публикуется с использованием CAML в SPAlert.Filter имущество.

Но когда я объединяю запросы, используя CAML <And></And> оповещения перестают вызывать любые уведомления.

Кто-нибудь знает, почему это происходит? И правильный способ использования CAML <And> в SPAlert.Filter?

Мой код:

SPUser user = SPContext.Current.Web.CurrentUser;
SPWeb web = SPContext.Current.Web;

SPAlert alert = user.Alerts.Add();

alert.Filter = "<Query><And><Eq><FieldRef Name='ContentType' /><Value Type='Text'>CUSTOM_PAGE_CONTENT_TYPE</Value></Eq><Eq><FieldRef Name='_ModerationStatus' /><Value Type='Integer'>0</Value></Eq></And></Query>";

alert.Title = "Alert Title";
alert.AlertType = SPAlertType.List;
alert.EventType = SPEventType.All;
alert.List = web.Lists["Pages"];
alert.AlertFrequency = SPAlertFrequency.Immediate;
alert.AlwaysNotify = true;
alert.Update(true);

Заранее спасибо, Ризи.

2 ответа

Попробуй это:

<Query>
    <Where>
        <And>
            <Eq>
                <FieldRef Name='ContentType' />
                <Value Type='Text'>CUSTOM_PAGE_CONTENT_TYPE</Value>
            </Eq>
            <Eq>
                <FieldRef Name='_ModerationStatus' />
                <Value Type='ModStat'>Approved</Value>
            </Eq>
        </And>
    </Where>
</Query>

Вам нужен элемент Where между Query и And. Кроме того, используйте тип ModStat вместо Integer для ModerationStatus.

На самом деле, свойство SPAlert.Filter не должно иметь <Where> Элемент XML. Удалите это из XML-фрагмента фильтра, и оно должно работать.

Установите второй флажок Примечание на этой странице: http://msdn.microsoft.com/en-us/library/bb802961(v=office.12).aspx

Другие вопросы по тегам