Ich versuche, "RowCount" -Wert für Content-Type Field zu bekommen.2sxc: How-To Get "ContentType Felder"/Eingabe-Typ-spezifische/Eigenschaftswert
- Mit meinem Code ich alle Anwendungs Content-Types Liste kann
- , als ich alle Felder mit grundlegenden Attribute auflisten können (Name, Etikett, Default ...)
Aber jetzt versuche ich, fast ganzer Tag für den Zugriff auf zusätzliche Eingabetypspezifische Wert, aber ohne Glück ...
Das mit Kommentaren mein aktueller Code ist, wo Ich mag zusätzliche Werte erhalten ..
public string GetTablesAndFields(){
var cache = ToSic.Eav.DataSource.GetCache(null, App.AppId) as ToSic.Eav.DataSources.Caches.BaseCache;
var allTypes = cache.GetContentTypes().Select(t => t.Value);
var appTypes = allTypes.Where(t => t.Scope == "2SexyContent").ToList();
var zoneId=(int)ToSic.SexyContent.Internal.ZoneHelpers.GetZoneID(Dnn.Module.PortalID);
var metaDataSource = ToSic.Eav.DataSource.GetMetaDataSource(zoneId, App.AppId);
var code ="";
foreach(ToSic.Eav.Data.ContentType t in appTypes){
code = code + t.Name + " | " + t.Scope + " | fields : " + t.AttributeDefinitions.Count + "<br/>";
foreach(var a in t.AttributeDefinitions){
var f = GetFieldMetadata(metaDataSource, a.Key);
code += "<hr><pre>";
code += "# Name #" + a.Value.Name + "<br/>";
code += "# Name Label #" + f.Title[0] + "<br/>";
code += "# Visible in Edit UI #" + f.Attributes["VisibleInEditUI"][0] + "<br/>";
code += "# Default value #" + f.Attributes["DefaultValue"][0] + "<br/>";
code += "# Required #" + f.Attributes["Required"][0] + "<br/>";
code += "# Disabled #" + f.Attributes["Disabled"][0] + "<br/>";
code += "# Input Type #" + f.Attributes["InputType"][0] + "<br/>";
code += "# Notes #" + f.Attributes["Notes"][0] + "<br/>";
code += "# Validation #" + f.Attributes["ValidationRegExJavaScript"][0] + "<br/>";
code += "</pre><hr>";
// How to access "RowCount" or other InputType specific values?
}
}
return code;
}