[英]How to add a property to a document type in Umbraco from code?
任何人都可以舉例說明如何以編程方式將屬性添加到Umbraco CMS中的現有文檔類型中嗎? 這是我試過的:
var dt = DocumentType.GetByAlias("TestDocType");
dt.AddPropertyType(new DataTypeDefinition(-49),"testprop", "test prop");
但它引發了一個例外:
Method not found: 'Void umbraco.cms.businesslogic.ContentType.AddPropertyType(umbraco.cms.businesslogic.datatype.DataTypeDefinition, System.String, System.String)'.
有任何想法嗎?
我設法修復它。 該網站最近從Umbraco 4.5升級到Umbraco 4.7.1,所以dll必須被更新的網站取代。 在舊版本的Umbraco中,方法的返回類型是public void AddPropertyType
而新的一個public PropertyType AddPropertyType
。 顯然在升級過程中沒有復制新的cms.dll,所以我從一個干凈的Umbraco 4.7.1解決方案中復制了它,更改了代碼以接收返回類型並且它有所幫助。
必需的命名空間:
using umbraco.cms.businesslogic.datatype;
using umbraco.cms.businesslogic.web;
所以最后的代碼(假設引用了正確的程序集):
var dt = DocumentType.GetByAlias("TestDocType");
var pType = dt.AddPropertyType(new DataTypeDefinition(-49),"testprop", "test prop");
這段代碼看起來很好,它應該工作。
確保您的第一行實際上返回的是文檔類型,而不是null。
此外,你有適當的'使用',你至少需要其中一些嗎?
using umbraco.cms.businesslogic.web;
using umbraco.NodeFactory;
using umbraco.cms.businesslogic.member;
using umbraco.cms.businesslogic.datatype;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.