2016-06-24 3 views
0

Bitte sei sanft ... Ich bin sehr neu in der Sitecore-Entwicklung.Sitecore-Inhaltselement abfragen Datenfelder mit Leerzeichen in Datenfeldname

So ist der folgende Code gibt den Wert von einem beliebigen Datenfeld mit einem Inhaltselement zugeordnet sind ... solange die Datenfeldnamen keine Leerzeichen enthält

#foreach($item in $genie.QueryPageItems("/sitecore/content/Sparklev2/articles/*")) 
     $item.Name - $item.Copyright - $item.Body Tag Css 
    #end 

und das Verfahren es ruft (geschrieben von ein anderer Entwickler):

public List<PageItem> QueryPageItems(string query){ 
     return (from item in Sitecore.Context.Database.SelectItems(query).ToList<Item>() select new PageItem(item)).ToList<PageItem>(); 
    } 

der oben gibt den Namen und das Copyright in Ordnung, aber nicht die Body-Tag CSS-Werte. Ich habe Body Tag CSS in alles eingewickelt, woran ich denken konnte, aber das kann nicht funktionieren. Fehle ich etwas oder ist das einfach nicht möglich

+0

Was ist die View-Engine/das Framework, die Sie für das erste Code-Snippet verwenden? Es ist nicht C# oder Razor ... – jammykam

+0

Das sieht aus wie eine Geschwindigkeitsvorlage, die seltsam ist wie Java. Wenn Sie $ $ item.get ('Body Tag Css') ' –

+0

wie eine benutzerdefinierte PageItem-Klasse aussehen lassen, sollten Sie überprüfen, wie diese Klasse das Element und die Felder verarbeitet. Fügen Sie vielleicht eine Eigenschaft hinzu, die Sie im Konstruktor angeben können. – RvanDalen

Antwort

0

Sie müssen Sonderzeichen und Leerzeichen entkommen.

/sitecore/content/#Sparkle V2#/articles/*

Auf einem separaten Notiz; Es wird Esel ausführen. Aber Flucht ist deine Antwort.

+0

Siehe auch: http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2012/05/sitecore-query-cheat-sheet.aspx –

+0

Vielen Dank für Ihre Antwort , Kennzeichen. Der Teil, der nicht funktioniert, ist nicht sparklev2 ... das ist eine ungebrochene Zeichenfolge. Das Problem ist mit $ item.Body Tag Css. Ich hatte bereits versucht zu entkommen, wie Sie es vorgeschlagen hatten, aber das mildert das Problem nicht. – GeekInTheBox

+1

Oh. Ich habe deine Frage falsch verstanden, entschuldige mich. Für das, was Sie fragen, wäre es besser, diesen Artikel mit dem Front-End-Framework zu versehen, das Sie verwenden - da es nicht sehr viele Sitecore-Entwickler wissen -, noch ist das Problem besonders Sitecore-bezogen. –

Verwandte Themen