Sto utilizzando Sitecore Glass Mapper per un nuovo progetto che sto configurando. Utilizziamo Sitecore 7.2, l'ultima versione di Team Development per la generazione di codici Sitecore (TDS) e l'ultima versione di vetro.Sitecore Glass Mapper sempre null
Il codice che sto cercando di eseguire:
var b = new SitecoreContext();
var c = b.GetCurrentItem<T01_Homepage>();
b non è nullo. c è nullo.
var d = b.GetItem<T01_Homepage>("path")
d è nullo.
ho aggiunto il mio assemblaggio in GlassMapperScCustom:
public static IConfigurationLoader[] GlassLoaders(){
var attributes = new AttributeConfigurationLoader(new[] { "Company.Framework.Websites.Corporate", "Company.Framework.Core", "Company.Framework.Common" });
return new IConfigurationLoader[] { attributes };
}
Quando guardo nei b.GlassContext.TypeConfigurations tutti i miei modelli sono lì.
Ho pensato che potrebbe essere un problema di lingua perché il sito è in olandese e forse la lingua sbagliata sarebbe stata risolta in modo errato. Anche questo non era il caso.
Ho disattivato WebActivator e aggiunto GlassMapperSc.Start() nel metodo Global.asax Application_Start.
Stiamo anche utilizzando Autofac come framework DI. Ma senza di esso, non funziona ancora come puoi vedere sopra. Inoltre, quando creo i miei modelli personalizzati senza generazione del codice TDS, il risultato di GetCurrentItem<T>
è nullo.
Qualcuno ha un'idea di come posso risolvere questo problema?
Questo ha fatto il trucco. La mia lingua era nl-nl e in sites.config il nodo siti/sito aveva la lingua degli attributi su nl. Grazie. – ydd1987
Questo è interessante - sto avendo un problema simile, e infatti quando ispeziono la radice del mio sito web la lingua sembra essere impostata su "hr" - un valore che non ho mai impostato in modo esplicito, ma è il nome di un primo livello figlio del mio sito web che ho rimosso: http://screencast.com/t/aMhy7yl3 Potrebbe averlo fatto in qualche modo Sitecore/Glass.Mapper pensa che "hr" (croato) dovrebbe essere la lingua, ritornando così un oggetto nullo? –