Comments (8)
What do you exactly mean by "the right type"? Is it the CLR type of each property, eg property "MyTitle" is an IHtmlString? Then, you need to retrieve the PublishedPropertyType for the property: it has a ClrType property which returns a Type object describing the CLR type of the property.
from modelsbuilder.original.
I'm not using the PublishedProperty for getting the data. I'm getting the datatype like this
IDataTypeDefinition dataType = umbracoContext.Application.Services.DataTypeService.GetDataTypeDefinitionByPropertyEditorAlias(propertyType.PropertyEditorAlias).First();
And from that i only can find a dataType.DatabaseType but nowhere a CLR type? I've searched the Umbraco source code but can't really find it. How do you find the object type?
from modelsbuilder.original.
You need to switch from the "database" world over to the "published content" world. Assuming that "contentTypeAlias" is the alias of your content type, and "propertyTypeAlias" the alias of your property type, you'll want to do something like PublishedContentType.Get("contentTypeAlias").GetPropertyType("propertyTypeAlias")... and the object that's returned has a ClrType property which is I believe the type you're looking for.
from modelsbuilder.original.
I can't find that object as a method? I've tried now to find it in the umbracoContext.Application.Services.ContentService and umbracoContext.Application.Services.ContentTypeService but nowhere a ClrType..
from modelsbuilder.original.
Umbraco source found it.. but still a error
new Umbraco.Core.Models.PublishedContent.PublishedPropertyType(contentType, propertyType).ClrType;
it need a PublishedContentType and i got a ContentType..
from modelsbuilder.original.
The full type name is Umbraco.Core.Models.PublishedContent.PublishedContentType. Has a public static method named Get that you should call to get the type. Do NOT "new" a published content type nor a published property type. Get the type, get the property from the type, get the ClrType from the property.
from modelsbuilder.original.
Got it! Umbraco.Core.Models.PublishedContent.PublishedContentType.Get(publishedItemType, contentType.Alias).GetPropertyType(propertyType.Alias).ClrType;
The problem wat i had a static method Umbraco in my class so he can't find the namespace.. stupid me!
Much thanks!
from modelsbuilder.original.
Glad I could help!
from modelsbuilder.original.
Related Issues (20)
- Cleaner csproj include generated files HOT 1
- Can't Rebuild Models After Deleting Document Type HOT 6
- Interface definition only generated when document type is in use HOT 1
- Request error: The URL returned a 404 (not found): /App_Plugins/ModelsBuilder/modelsbuilder.html HOT 1
- Provide option for generated code to use Language Fallback HOT 7
- ModelsBuilder API Generates first IPublishedElement then never finishes HOT 10
- VS Extension: Method not found: 'System.String Umbraco.ModelsBuilder.Building.Compiler.CreateValidIdentifier(System.String)' HOT 2
- v4: Repository shouldnt link to local nuget server
- v4: If Document type with Template is created Umbraco fails with save of Document Type
- Implemented property keeps being generated HOT 6
- ModelsBuilder on Umbraco v8.8 HOT 10
- v4: Generator should be swappable / extendable
- Generated Models missing PublishedElementModel on generated model.
- Stack Overflow when implementing same interface in generated and partial class
- VS Extension install issue
- Execute ModelsBuilder Programmatically
- When generating models for IPublishedElement it adds a controller no matter what
- UmbracoModelsBuilder: UmbracoModelsBuilder failed to generate code: NullReferenceException HOT 1
- VS2022 HOT 5
- Umbraco 8.13.1 fails when models is regenerated - StackOverflow ( same as 257 and 160? )
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from modelsbuilder.original.