Frage

Manchmal Sitecores werden nicht bestimmte Elemente zurück. Zum Beispiel in dem folgenden Code:

Sitecore.Data.ID itemId = new Sitecore.Data.ID(id);
Sitecore.Context.Database.GetItem(id);

Dies wird null zurück, aber wenn der gleiche Zeichenfolge-ID auf der Suche über dem Inhalt Baum im Content-Editor platziert wird, wird es das Einzelteil zurück! Die Kontextdatenbank ist Web, und ich habe das Element mehrmals neu veröffentlicht.

Ich bin mit Sitecore 6.2.0 (rev. 100701).

War es hilfreich?

Lösung

Sind Sie sicher, dass es kein Tippfehler ist? Ich meine, sollten Sie nicht itemId statt nur id zu GetItem passieren?

Ich erinnere mich nicht genau, wie es funktioniert, aber wenn Sie eine Zeichenfolge an diese Methode übergeben, ist es wahrscheinlich behandelt es als Weg, nicht-ID und versucht, den Artikel durch den Weg zu lösen. Sie können dies viel schneller als ich:

Sitecore.Data.ID itemId = new Sitecore.Data.ID(id);
Sitecore.Context.Database.GetItem(itemId);

Andere Tipps

Ich habe gerade das gleiche Problem - GetItem() Funktion gibt NULL

Nach dem Ziehen meiner Haare für etwa eine Stunde, fand ich, dass meine GetItem() Funktion durch das vordere Ende und der extranet/Anonymous Benutzer nicht über Lesezugriff auf den Punkt genannt wird, dass ich versuche zu bekommen.

Also, denken Sie daran, die Sicherheit zu überprüfen!

siehe den folgenden Artikel. http://sdn.sitecore.net/Articles/API/Context%20and % 20databases.aspx

auf web.config der Website name = „Website“ Knoten kann auf die falsche Datenbank verweisen werden. Die Datenbank-Eigenschaft sollte „Master“ oder „Web“ sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top