SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




XLST Datenansicht Variable wird direkt aufgelöst :(

Geprüfte Antwort Dieser Beitrag hat 9 Antworten

Ohne Rang
8 Beiträge
Dominik M erstellt 28 Juni 2011 17:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Zusammen,

ich versuche seit mehreren Stunden eine XSLT Datenansicht anzupassen. Dabei will ich in einer Tabellenzelle ein Bild anzeigen. Der Pfrad zu dem Bild soll dynamisch anhand eines Listenfeldes generiert werden. Das Problem ist aber, dass er beim abspeichern der Seite im SharePointDesigner direkt die Variable auflöst und den Wert des 1. Eintrags in der Liste einfügt.

Der Code ist folgender:

<img border="0" src="../../images/statussymbole/{@Status}.jpg" alt="{@Status}"/>

die Variable im 'alt' Attribut übernimmt er korrekt für jeden Listeneintrag. Nur die Variable im 'src' Attribut wird sofort aufgelöst.

Ich hab das Konstrukt schon mal bei anderen Listen angewendet und dort hat es funktioniert.

Ich hoffe ihr könnt mir helfen. Ich hab einfach keinen Ansatzpunkt mehr.

Viele Dank

Dominik

Alle Antworten

Ohne Rang
8 Beiträge
Dominik M Als Antwort am 29 Juni 2011 11:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So ich hab noch mal ein bisschen rumprobiert komme aber zu keiner Lösung. Aber vielleicht hilft es euch ja weiter.

Wenn ich das src Attribut mit dem Feld "ID" fülle, klappt alles Prima.

Vor dem abspeichern im SharePoint Designer 2007: <img src="{@ID}" />

Nach dem abspeichern im SharePoint Designer 2007: <img src="{@ID}" />

 

Wenn ich allerdings das Feld "Gesch_x00e4_ft" eintrage passiert das oben beschriebene.

Vor dem abspeichern im SharePoint Designer 2007: <img src="{@Gesch_x00e4_ft}" />

Nach dem abspeichern im SharePoint Designer 2007: <img src="&lt;div&gt;BLINDTEXTBLINDTEXTBLINDTEXTBLINDTEX&lt;/div&gt;
&lt;div&gt;TBLINDTEXTBLINDTEXTB&lt;/div&gt;
&lt;div&gt;LINDTEXTBLINDTEXTBLINDTEXTBLINDTEXT&lt;/div&gt;" />

 

Wieso wird dann an der Stelle die Variable direkt aufgelöst und in den Quellcode geschrieben. Ich will ja das sie erst aufgelöst wird, wenn die Seite geladen wird.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 Juni 2011 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Problem ist mir zwar so nicht bekannt, aber einige andere im Zusammenhang mit XSLT. Hast Du für den SharePoint Designer Service Packs installiert (es gibt SP1 und SP2)?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Dominik M Als Antwort am 29 Juni 2011 15:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ich habe den SharePoint Designer 2007 (12.0.6423.1000) SP2 MSO (12.0.6554.5001)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 Juni 2011 15:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe wirklich schon sehr viel mit XSLT-Datenansichten gemacht, aber genau das ist mir noch nie untergekommen. Eine Lösung kann ich deshalb nicht präsentieren, aber ich würde einfach mal verschiedene Möglichkeiten durchprobieren, wie z.B. auch sowas

<xsl:value-of select="concat('<img src=''', @ID, '''/>)" disable-output-escaping="yes"/>

oder

<xsl:element name="img">
<xsl:attribute> name="src"><xsl:value-of select="@ID"/></xsl:attribute>
</xsl:element>

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Dominik M Als Antwort am 29 Juni 2011 16:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi

ich wollte gerade deinen ersten lösungsweg ausprobieren.

Dabei stoße ich auf das problem, das die variable nicht das einzige ist, was im src-Teil stehen muss.

der Pfad wäre ./images/statussymbole/@status.jpg

kannst du mir grad auf die schnelle verraten wie ich mir das zusammenbastel?

 

vielen danke

dominik

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 Juni 2011 16:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dabei wird ohnehin ein String mit der XSL-Funktion concat() zusammengesetzt. Du kannst das dort beliebig erweitern. Die Funktion nimmt beliebig viele String- und XPath-Parameter entgegen:

concat('Das ist der ', @Number, 'te Teil')

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Dominik M Als Antwort am 29 Juni 2011 17:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

das hab ich soweit verstanden. das problem ist nur das das src-attribute die "" öffnet und schließt und weil die < > Klammern da mit bei sind.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Juni 2011 08:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du mußt dabei innerhalb der Anführungszeichen " einfache Hochkommata ' verwenden - oder umgekehrt. Und größer/kleiner Zeichen müssen escaped werden als &gt; bzw. &lt;

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
8 Beiträge
Dominik M Als Antwort am 30 Juni 2011 10:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen,

so hatte ich es auch ausprobiert, was bei mir aber zu Fehlern führte.

Man muss die Hochkommata auch escapen in &quot;

Jetzt funktioniert alles.

Besten Dank Andi und viele Grüße