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.




Inhalts-Editor (Content-Editor) Webpart aus Liste/Bibliothek "befüllen"

Unbeantwortet Dieser Beitrag hat 10 Antworten

Ohne Rang
48 Beiträge
Lars Schwanitz erstellt 22 Aug. 2011 10:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe versucht (hat auch funktioniert) den Inhalts-Editor als integrierten PDF Viewer zu benutzen. Folgende Links haben mir dabei geholfen:

Als zweiten Schritt habe ich jetzt versucht den Inhalts-Editor mit einen Bibliotheks-Viewer Webpart zu verknüpfen und bin damit ein wenig gegen die Wand gelaufen. Versuche das mit Filter Webparts zu lösen waren auch nicht erfolgreich.

Gibt es die Möglichkeit den Inhalts-Editor mit Dokumenten aus einer Bibliothek zu füllen, so das diese Angezeigt werden (in diesen speziellen Fall PDF)?

Über Tips/Hinweise oder einen neuen Lösungsansatz würde ich mich freuen.

Danke

Lars

 

Alle Antworten

Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 22 Aug. 2011 14:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So, ich habe es fast. Ich stehe nur noch vor einer Hürde. Lösung bis jetzt:

  1. "PDF Viewer" Webseite angelegt wo die URL nach ?pdfurl=Dateiname durchsucht wird und die PDF Datei angezeigt wird (das Funktioniert).
  2. In der entsprechenden Dokumentenbibliothek Sicht eine Spalte mit einen Button pro Zeile eingefügt, mit SharePoint Designer. Bei den Button unter Formularaktion "Zu Seite navigieren" ausgewählt und die "PDF Viewer" Seite ausgewählt.

Beim klicken auf dem Button wird auch die "PDF Viewer" Seite aufgerufen aber ohne URL Parameter. Meine Frage jetzt: wie bekomme ich eine Zeilen spezifische Variable an die Aufrufende URL gehängt. (das ?pdfurl=)

Danke

Lars

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2011 14:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hänge an die URL sowas an: pdfviewer.aspx?pdfurl={@InternerNameDesFeldes}

Beachte die geschweiften Klammern. Evtl. muß es auch so aussehen {$thisNode/@Feldname} - ich kenne den Zusammenhang nicht. In jedem Fall muß hinter dem @-Zeichen der interne Name des Feldes angegene werden, das den gewünschten parameter enthält.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 22 Aug. 2011 15:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Leider löst diese Funktion nicht das XPath auf. Bei der erzeugten URL kommt so etwas bei raus: ../PDFViewerFormulare.aspx?pdfurl=%7B$thisNode/@Titel%7D

Dann ist mir das onclick Ereigniss auf den Button(s) ins Auge gestochen: javascript: {ddwrt:GenFireServerEvent('__redirect={../../Websiteseiten/PDFViewerFormulare.aspx?pdfurl_x003D_}')}

Wenn ich das richtig deute muss vor die erste schließende geschweifte Klammer mein Parameter (Dateiname). Meine Wissenslücke besteht jetzt darin wie ich Xpath Daten in eine JavaScript Variable bekomme.

Danke

Lars

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

Leider kenne ich den Zusammenhang bzw. den Kontext nicht, in dem Du das machst.

Grundsätzlich wird aber die Ansicht per XSLT gerendert. In XSLT kann man mit Hilfe der geschweiften Klammern Referenzen auf Daten einbauen, die dann zur Laufzeit aufgelöst werden. Wenn Du z.B. {@ID} einbaust, sollte das später durch die ID des Elements ersetzt werden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 23 Aug. 2011 09:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der Hintergrund ist das ich eine Sicht auf eine Dokumenten Bibliothek habe wo nur drei Spalten angezeigt werden. Keine dieser drei Spalten ist mit den Einstellungen, bzw direkt mit dem Dokument verknüpft. Zusätzlich habe ich noch eine Spalte mit dem Sharepoint Designer hinzugefügt welche pro Zeile einen Button enthält (Entwurf->Steuerelement einfügen). Wenn meine Benutzer dann auf diesen Butten klicken, soll das entsprechende Dokument (PDF) in der oben genannten PDFViewer.aspx angezeigt werden. So kann ich über das Acrobat Reader Control steuern ob das PDF gespeichert oder gedruckt werden darf. Der Aufruf der PDFViewer.aspx mit korrekten URL Parameter funktioniert schon (händisch getestet). Den button habe ich über Entwurf->Formularaktion die Aktion "Zu Seite Navigieren" hinterlegt (http://irgendeinserver/QM/Websiteseiten/PDFViewerFormulare.aspx?pdfurl=). Dies erzeugt auf dem onclick Event der Buttons folgenden Eintrag:

javascript: {ddwrt:GenFireServerEvent('__redirect={../../Websiteseiten/PDFViewerFormulare.aspx?pdfurl_x003D_}')}

Auch das Funktioniert. Jetzt muß ich nur noch den Dateinamen des Dokuments in Aufruf hineinbasteln. Wenn ich {@ID} oder ähnliches einsetze wird dieses nicht aufgelöst, sondern immer in UTF8 umkodiert (sieht zumindest so aus).

Mal kurz zu meinen Kentnissen, ich habe gerade erst die "Klickpfade" in Sharepoint verlassen habe aber allgemeine (.NET) Programmierkentnisse (kein Crack!).

Danke

Lars

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Aug. 2011 09:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe das mit Buttons noch nicht selbst probiert, daher weiß ich nicht, welches XSLT der Designer da erzeugt. Was mich etwas wundert, ist daß im JavaScript bereits geschweifte Klammern vorkommen redirect={...}.

Kannst Du es nicht stattdessen mit einem simplen HTML-Link versuchen?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 23 Aug. 2011 13:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So, jetzt habe ich mal im onclick Event

onclick="javascript: {ddwrt:GenFireServerEvent('__redirect={../../Websiteseiten/PDFViewerFormulare.aspx?pdfurl_x003D_}')}"

ersetzt durch

onclick="javascript: window.location='../../Websiteseiten/PDFViewerFormulare.aspx?pdfurl={@ID}'"

Der xpath Ausdruck wird auch in die entsprechende ID Aufgelöst. Jetzt muß ich nur noch die Entsprechende Spalte bekommen. {@Feldname} liefert immer leere Ergebnisse, {$thisNode/@Feldname} wird vom Designer behauptet währe ein ungültiger Ausdruck. Woran kann das liegen?

Danke Lars

 

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 23 Aug. 2011 14:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Probiers mal mit "{@FileRef}" und wenn das nicht klappt dann "{@EncodedAbsUrl}" als Feldname.

Cheers,

Sigi Weber

Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 23 Aug. 2011 15:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Beide Varianten haben leider nicht funktioniert. Ich habe die {@ID} wieder eingesetzt und mir dann den Quelltext der Bibliotheksansicht mal angesehen. In jeder Zeile steht die gleiche ID! Kann es sein, das ich so erstmal nur die Spalte Werte aber nicht die Spaltenzeilen erwische?

Danke

Lars

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 23 Aug. 2011 15:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Tut mir leid, aber da muss ich passen. Bei mir klappt das im XSLT mit den Feldnamen die ich gepostet habe.

Cheers,

Sigi Weber