我已經想通過代碼隱藏(假設我有一個zip文件)來安裝包。據我瞭解,它只安裝在主數據庫上。然後,我如何將已安裝的項目轉移到Web數據庫? Cna I在Web數據庫上安裝軟件包?有沒有辦法在安裝過程中獲取物品,然後以某種方式發佈它們?達到此目的的最佳方法是什麼?通過代碼安裝sitecore包到所有目標
1
A
回答
1
除非你知道你在哪裏安裝在主項的確切根項目,最好的辦法是通過C#整個樹從發佈到master
web
的第2.2.2節內容API食譜(PDF link)有這個片段如何做到這一點:
var master = Sitecore.Configuration.Factory.GetDatabase("master");
var target = Sitecore.Configuration.Factory.GetDatabase("web");
Sitecore.Data.Database[] targetDatabases = { target };
var languages = master.Languages;
Sitecore.Publishing.PublishManager.PublishIncremental(master, targetDatabases, languages);
3
當您創建包時,您可以從特定數據庫中選擇項目。 默認情況下,這是主人,但您也可以從核心和網絡中選擇他們。
項目將始終安裝在它們來自的相同數據庫中。
0
你也許可以嘗試這樣的方法。由於您已經從代號隱藏安裝軟件包,因此您可以從軟件包安裝開始併發布它們開始獲取已修改項目的列表。
Item rootItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.RootPath);
List<Item> modifiedItemList = rootItem.Axes.GetDescendants().
Where(item => item.Statistics.Updated >= installDateTime
|| item.Statistics.Created >= installDateTime).ToList();
// add te items in the list to the publishing queue
該解決方案有點髒,但應該解決您的問題。
相關問題
- 1. 通過Python安裝Ubuntu包代碼
- 2. 包通過廚師安裝的源碼
- 3. 通過複製代碼在R中安裝包?
- 4. Python包通過setup.py安裝
- 5. 通過源包安裝Aubit4GL
- 6. 通過Nix安裝Haskell包
- 7. 通過Sitecore包在多個環境中刪除Sitecore項目
- 8. 通過源碼安裝rgdal
- 9. 如何通過PM控制檯安裝包到所有已經引用此包的項目?
- 10. 如何通過yum安裝子包裝
- 11. 通過adb安裝並打開包裝
- 12. sitecore - 如何在發佈目錄時通過代碼獲取所有發佈項目
- 13. Sitecore軟件包安裝錯誤
- 14. 安卓:layout_alignParentBottom通過代碼
- 15. 如何通過代碼安裝apk安卓市場?
- 16. 如何通過沒有所有依賴關係的yum安裝python包
- 17. XCode通過代碼複製目標代碼
- 18. Sitecore的圖標損壞上安裝
- 19. 安裝錯誤:包括INSTALL_PARSE_FAILED_MANIFEST_MALFORMED代碼
- 20. 導入目標安裝的Python包
- 21. 代碼 - 包裝代碼
- 22. 通過jspm失敗安裝mapbox-gl包
- 23. 通過Ubuntu軟件安裝軟件包
- 24. 通過bash腳本安裝包
- 25. 通過Dockerfile安裝包時出錯
- 26. 如何通過pip安裝twilio包?
- 27. 安裝通過MacPorts的一箇舊包
- 28. Django通過symlinking安裝軟件包
- 29. 通過JPSM安裝一些軟件包
- 30. 通過點安裝newspaper3k包的錯誤
嗯...問題是,我並不想要整棵樹去 - 我只想要包的物品去網上。有沒有一種方法可以獲得包裝'剛剛'安裝的物品? –