Я использую Umbraco 4.6.2, и мне нужно расширить предоставляемые по умолчанию уведомления.Ради этого вопроса, допустим, я пытаюсь добавить уведомление «Unpublish».
В \umbraco\presentation\umbraco\dialogs\notifications.aspx.cs
он создает список элементов checkbx, отображаемых пользователю при открытии диалога «Уведомления» изконтекстное меню.
Я вижу, что у каждого Action
есть свойство ShowInNotifier - как мне установить это значение на true
для действия UnPublish?Требуется ли для этого изменение базовой кодовой базы или есть хороший способ, которым я могу изящно расширить Umbraco?
Так что после того, как я добавил это, пользователи могут подписаться на уведомление об отмене публикации (я пропускаю какие-либо шаги здесь?)Будет ли это автоматически отправлять уведомления сейчас?
Я предполагаю, что нет, поэтому следующее, что я сделал, перехватил событие UnPublish:
public class CustomEvents : ApplicationBase
{
public CustomEvents()
{
Document.AfterUnPublish += new Document.UnPublishEventHandler(Document_AfterUnPublish);
}
void Document_AfterUnPublish(Document sender, umbraco.cms.businesslogic.UnPublishEventArgs e)
{
var user = User.GetCurrent();
if (!string.IsNullOrEmpty(user.Email) && user.GetNotifications(sender.Path).Contains("UnPublish"))
{
//Send a notification here using default Umbraco settings, or, construct email and send manually:
string umbracoNotificationSenderAddress = ""; //How to get the address stored in umbracoSettings.config -> <notifications> -> <email>
//How to use the same subject/message formats used for other notifications? With the links back to the content?
string subject = "Notification of UnPublish performed on " + MyUtilities.GetFriendlyName(sender.Id);
string message = MyUtilities.GetFriendlyName(sender.Id) + " has just been unpublished.";
umbraco.library.SendMail(umbracoNotificationSenderAddress, user.Email, subject, message, true);
}
}
}
Итак, биты этого кода не являютсяреально / мне нужно несколько указателей на:
Это правильный способ проверки, подписан ли пользователь на определенное уведомление?
Какя могу отправить уведомление, используя настройки Umbraco по умолчанию?(например, создать электронное письмо так же, как другие уведомления)
Если это невозможно, и я должен создать свой собственный адрес электронной почты:
Как сделатьЯ получаю с адреса электронной почты, хранящегося в umbracoSettings.config, что
Как мне скопировать форматирование, используемое по умолчанию для уведомлений Umbraco?Должен ли я скопировать его вручную или есть лучший способ сделать это (программно).
Любая помощь (или даже просто ссылки на соответствующие примеры) приветствуется:>