2015-10-14 3 views
0

Я пишу модуль, чтобы добавить функциональность в меню навигации всякий раз, когда элемент контента, к которому подключен мой модуль, опубликован или не опубликован. В моем обработчике, который наследуется от класса ContentHandler, я перезаписал «опубликованные» и «неопубликованные» методы, и функциональность работает должным образом. Однако проблема заключается в том, что методы обработчика содержимого в моем модуле вызываются даже для типов контента, у которых нет моего модуля (части содержимого), прикрепленного к ним.Orchard ContentHandler invocation

Я также попробовал наследовать от «IContentHandler» вместо «ContentHandler», но тот же результат.

Можно ли связать методы публикации опубликованных, опубликованных, неопубликованных и т. Д. ContentHandler, чтобы они вызывались только тогда, когда был изменен элемент контента, к которому прикреплена часть контента?

ответ

3

Хорошо, нашел ответ на этот вопрос. Публикуется здесь для информационных целей.

После создания части контента скажите 'abcPart', чтобы вызвать «публикацию, публикацию» и другие методы, связанные с ContentHandler, все, что вам нужно сделать, это в конструкторе обработчика вашей части, добавьте этот код.

public class MyHandler : ContentHandler 
{ 
    public MyHandler() 
    { 
     OnPublishing<abcPart>((context, part) => { 
      /*your logic here*/ 
     }); 
    } 
} 

Таким образом, код присутствует в разделе «OnPublishing» конструктора бы только получить срабатывает всякий раз, когда элемент контента, к которому присоединен «abcPart», публикуется.

+0

вот ссылка на веб-страницу, откуда я получил этот ответ http://www.ideliverable.com/blog/content-part-editors-beyond-the-basics –