例如,在保存和發佈數據之前,我想操作數據(對數據進行處理),比如檢查數據,向UrlRewriting.config文件中添加一個較短的URL,並自動調整這些值。當我刪除或取消發佈節點時,我想自動從UrlRewriting.config文件中刪除較短的URL。 另一方面,我想完全控制在Umbraco後臺的保存,發佈和刪除過程。 請幫助我。如何在Umbraco後臺(管理面板)中自定義保存和發佈?
1
A
回答
4
如果要將URL更改爲節點,可以通過修改umbracoUrlAlias
屬性輕鬆地完成此操作,而不是將條目添加到URLRewriting.config。
只要保存節點,發佈,刪除等時添加邏輯,您將要做的就是創建一個類,訂閱許多Umbraco events中的一個或多個並在那裏執行邏輯。有關更多詳細信息,請參見Application startup events & event registration。
3
下面是一些例子給你:
public class SaveAndPublish : ApplicationEventHandler
{
protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
// Content Service
ContentService.Created += ContentService_Created;
ContentService.Saving += ContentService_Saving;
ContentService.Published += ContentService_Published;
ContentService.Trashing += ContentService_Trashing;
// Media Service
MediaService.Saving += MediaService_Saving;
MediaService.Saved += MediaService_Saved;
MediaService.Trashing += MediaService_Trashing;
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ContentService_Created(IContentService sender, NewEventArgs<IContent> e)
{
...
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ContentService_Saving(IContentService sender, SaveEventArgs<IContent> e)
{
...
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ContentService_Published(Umbraco.Core.Publishing.IPublishingStrategy sender, PublishEventArgs<IContent> e)
{
...
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ContentService_Trashing(IContentService sender, MoveEventArgs<IContent> e)
{
...
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void MediaService_Saving(IMediaService sender, SaveEventArgs<IMedia> e)
{
...
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void MediaService_Saved(IMediaService sender, SaveEventArgs<IMedia> e)
{
foreach (var entity in e.SavedEntities)
{
...
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void MediaService_Trashing(IMediaService sender, MoveEventArgs<IMedia> e)
{
...
}
}
相關問題
- 1. 如何在Umbraco後臺管理自定義數據表?
- 2. 如何在umbraco 6的管理面板中創建自定義部分?
- 3. 如何通過WordPress管理界面發佈自定義表單?
- 4. 如何在管理面板中顯示自定義RSS提要?
- 5. 如何在Django中創建自定義管理配置面板?
- 6. 自定義Django管理面板
- 7. 自定義django管理面板?
- 8. WordPress的自定義管理面板
- 9. 在magento後端翻譯自定義模塊管理面板
- 10. 發佈後,我的Umbraco管理面板沒有顯示在IE9中。但它出現在FF和Chrome瀏覽器
- 11. 自定義發佈頁面模板
- 12. 如何使用自定義模板和自定義佈局修改類別頁面通過管理
- 13. 在Shoppe中自定義管理模板
- 14. 在WordPress中爲特定用戶自定義管理面板
- 15. MS發佈管理 - 發佈模板構建定義爲空
- 16. 如何在Umbraco 6.x中擴展後臺(儀表板和樹)?
- 17. 如何在cms編輯頁面(管理面板)中添加自定義字段?
- 18. 如何自定義django管理面板模型列? django
- 19. 如何啓用自定義組Django管理面板
- 20. 保留自定義字段後,在wordpress中定位發佈
- 21. 保存自定義管理頁面信息到數據庫
- 22. 一把umbraco的後臺保存驗證
- 23. 如何在自定義模板中使用Django的管理布爾圖標?
- 24. 如何在umbraco中顯示來自javascript的自定義保存消息氣球
- 25. 保護我自己的管理面板
- 26. 如何在自定義管理模塊中添加自定義管理主題
- 27. 如何在Laravel BackPack管理面板中設置自定義圖標?
- 28. 如何在WordPress管理面板中創建自定義HTML表單?
- 29. 如何在ASP.NET中自定義發佈?
- 30. 如何自定義管理緩存頁面?
我參觀http://soetemansoftware.nl/,我想下載http://www.soetemansoftware.nl/downloads/umbracoeventoverview.pdf。但它是破損。 – Jahan
PDF的內容在該頁面上全部可用。如果您確實需要脫機版本,請複製並粘貼。 –