У меня есть тип контента, называемый Article. Мы создали часть внутри консоли администратора CMS, поэтому у меня нет соответствующего ArticlePart и ArticlePartRecord в модуле. Теперь мне нужно запустить операцию при публикации статьи. Мне трудно найти, где перехватить публикацию предмета. Обычно я делаю это в обработчике, но я не знаю, как создать обработчик в этом сценарии (не имея объектов записи деталей и частей).Orchard CMS: Создать OnPublished событие по существующему типу контента
ответ
Я думаю, что вы можете просто переопределить Published
метод, как это:
protected override void Published(PublishContentContext context) {
if (context.ContentType == "Article") {
// do something
}
}
Это может сработать. Я попробую. Я должен также упомянуть, что статья является ContentType, а не частью. Я неправильно говорил в своем первоначальном комментарии, но я думаю, что могу сделать то же самое для типов контента. – gergibs
см. Отредактированный ответ :) – devqon
Куда это пойдет? У меня было что-то очень похожее на ваш отредактированный ответ в классе Handler. – gergibs
Что вы имеете в виду «Мы создали часть внутри консоли администратора CMS»? Как это может быть сделано? – ViRuSTriNiTy
@ViRuSTriNiTy Перейдите к определению содержимого, а затем создайте новый тип или создайте новую часть. Вы можете создавать типы контента и части оттуда без использования кода. – gergibs