我想從內容管理器的文件夾中的一個我的所有圖像移動到文件夾中的一個服務器,該怎麼辦呢使用C#TBB嗎?如何使用C#TBB從內容管理器發佈圖像文件夾?
-1
A
回答
5
在支持SDL Tridion世界,你可以找到一套有用的模板積木其中包含了一個解決方案:http://sdltridionworld.com/community/extension_overview/useful_tbbs.aspx
見#5:獲取CSS圖片 - 發佈在一個特定的文件夾CMS的所有圖像。
下面是從解決方案的代碼的文檔片斷只是爲了得到它如何做的想法。
Filter filter = new Filter();
filter.Conditions["ItemType"] = ItemType.Component;
filter.Conditions["Recursive"] = false;
foreach (Component img in folder.GetItems(filter))
{
if (img.ComponentType == ComponentType.Multimedia)
{
string filename = Utilities.GetFilename(img.BinaryContent.Filename);
Item item = package.GetByName(filename);
bool push = true;
if (item != null)
{
Logger.Debug("An item with the same name exists in the package");
KeyValuePair<string, string> pair = new KeyValuePair<string,string>("TCMURI", img.Id.ToString());
if (item.Properties.Contains(pair))
{
Logger.Debug("An item with the same uri exists in the package, we will not push it twice to the package.");
push = false;
}
}
if(push)
{
Logger.Debug(String.Format("Pushing item {0} to the package", filename));
package.PushItem(filename, package.CreateMultimediaItem(img.Id));
}
}
}
而是從推動項目進入包裝,並允許它由默認完成動作被公開的,你也可以撥打AddBinary並指定結構組你想它出版了。
Engine.PublishingContext.RenderedItem.AddBinary(img, structureGroup);
有關更多詳細信息,請參閱TOM.NET API文檔。
1
幾個方法可以做到這一點:
1)靜態發佈,這是創建一個結構基團(即,將在服務器上創建)和內部創建一個頁面的文件夾。您的頁面將需要一個元數據模式,以獲取多值多媒體組件鏈接,以便您可以將圖像添加到頁面的元數據中。您需要爲此頁面構建一個頁面模板,該模板將具有TBB,該頁面從頁面元數據中獲取多媒體組件,並使用Engine.AddBinary方法將圖像添加到包中並與頁面一起發佈(頁面輸出可以成爲一些虛擬的東西)。請注意,如果您有很多圖片,將會對性能產生影響。
2)動態發佈:如果你有經紀人,您可以配置文件系統發佈。然後創建一個鏈接到您的圖像架構的動態組件模板。內部使用TBB和引擎.AddBinary方法用於給定MM組件將圖像發佈到給定結構組作爲動態組件顯示。
相關問題
- 1. 文件管理器 - 文件夾的閱讀內容
- 2. 如何讓發佈的內容的API,使用管理服務
- 3. 如何從文件夾抓取圖像並使用javascript發佈直接鏈接
- 4. C讀取管理文件的內容
- 5. 如何使用es文件管理器保存圖像
- 6. 上傳Tridion內容管理器中的文件夾丟失
- 7. 發佈內容後的變化管理
- 8. VS2010發佈不要從內容文件夾複製額外的文件夾
- 9. 使用HttpClient發佈文件的內容?
- 10. 使用CURL發佈文件內容
- 11. 圖片文件夾管理器
- 12. KineticJS如何從文件資源管理器收聽圖像?
- 13. 「GodMode」文件夾內容c#
- 14. 如何從內容管理器中卸載內容?
- 15. 如何在java中顯示文件夾內容/資源管理器
- 16. 如何使窗體發佈/關閉/處理圖像文件
- 17. tbb併發容器性能
- 18. 如何用圖像管理內存
- 19. 如何使用htaccess文件從文件夾中讀取圖像
- 20. 如何使用c#刷新文件夾中的內容?
- 21. 如何使用外部應用程序從IBM內容管理器中爲ISeries刪除映像文件?
- 22. 如何管理構建。使用Liferay IDE的.properties文件內容?
- 23. 如何使用resx文件來管理門戶網站內容
- 24. MS發佈管理清理丟棄文件夾
- 25. 如何使用網絡文件管理器瀏覽服務器文件夾
- 26. 使用庫發佈圖像不會返回任何內容
- 27. Portlet圖像和內容管理系統
- 28. 使用C++從Windows資源管理器獲取圖像屬性
- 29. 使用DD4T發佈內容時發生序列化錯誤TBB的
- 30. 如何使用ajax prototype.js將文件的內容發佈到php?
你爲什麼不乾脆從Web GUI做到這一點? – 2012-07-11 12:54:11
我認爲他的意思是出版。 – 2012-07-11 13:00:05
是的,它是出版,但我希望有一個C#代碼,讓我發佈,我圖像文件夾中的內容管理 – Priyanku 2012-07-11 13:01:17