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.




Seiteneigenschaften als Filter

Unbeantwortet Dieser Beitrag hat 9 Antworten

Ohne Rang
19 Beiträge
Hunt3r2016 erstellt 26 Feb. 2016 12:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, Ich bin relativ neu in der Welt von SharePoint. Ich habe zwar schon einige Sachen gemacht und betreue unser internes SharePoint, komme jetzt aber nicht Weiter. Alle Seiten von SharePoint haben ja Eigenschaften (Name, Title, ...). Diese Eigenschaften würde ich gerne zur Filterung einer Liste benutzen. Hintergrund: Für jeden Kunden gibt es eine SubSite mit eindeutiger Kennung (Kundennummer). Auf der ParentSite liegt die Zentrale Vertragsliste in der alle Verträge für alle Kunden abgelegt sind.

Logischer Vorgang: Link auf der Kundenseite der auf die Vertragsliste zeigt und diese gefiltert nach der Kundennummer anzeigt.

Folgende Idee:
/Kunden/Lists/Vertragsliste/AllItems.aspx?FilterField1=Kundennummer&FilterMultiValue1={Page.Title}

wenn ich das Value direkt mit der Kundennummer versehe funktioniert das auch wunderbar. Allerdings entwerfe ich aber gerade eine neue Kundenvorlage. Also müsste ich bei jedem neuen Kunden händisch das Value anpassen.

Jetzt also zu meiner eigentlichen Frage: Welches Value muss ich eintragen das er immer den Title an der Stelle setzt und an die Liste übergibt?

Vielen Dank schon mal im Voraus. Ich hoffe ich erhalte hilfreiche Antworten. PS: Ich bin für andere Wege offen sofern sie nicht zu Kompliziert sind (coden) ;)

Gruß

Kevin

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Feb. 2016 12:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Einfach nur durch Zusammenklicken geht das nicht. Man müßte den Link per JavaScript erzeugen, das sich zuerst den aktuellen Wert holt und dann in den Link einsetzt.

Aaaaber: ich würde das niemals so machen. Mindestens einer Eurer Kunden wird clever genug sein und feststellen, daß er ja auch an alle anderen Verträge der anderen Kunden rankommt. Das geht ja wohl gar nicht.

Also entweder die Dateien wirklich durch Berechtigungen schützen (dann ist auch keine Filterung notwendig) oder noch besser jeweils eine eigene Websitesammlung pro Kunde mit dedizierten Berechtigungen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19 Beiträge
Hunt3r2016 Als Antwort am 26 Feb. 2016 12:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut
Hallo Andi, Danke für die schnelle Antwort. Sorry leider habe ich vergessen etwas zu erklären. ;)

Wir nutzen SharePoint um Dokumentationen und Informationen über unsere Kunden anzulegen.

Die Kunden selbst kommen nicht auf unser SharePoint.

JS ist eine Alternative allerdings habe ich keine Idee wie ich da vorgehen soll.

Vielleicht kannst du mir etwas zusammen schreiben.

Gruß
Kevin
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Feb. 2016 14:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann hab ich das wohl mißverstanden. Hat sich für mich so angehört, als ob die Kunden selbst drauf zugreifen.

Ich kann Dir leider kein komplettes Script liefern, aber hier die grundlegende Anleitung: https://msdn.microsoft.com/de-de/library/office/jj163201.aspx

Ich weiß natürlich nicht, wie weit Du da "vorbelastet" bist, aber mit etwas Übung kann man so ein Script in einer halben Stunde bauen.

Ach und noch was: schau Dir das _spPageContextInfo Objekt im Debugger an. Das enthält sehr viel wertvolle Informationen und wenn Du Glück hast auch direkt die Eigenschaften der aktuellen Seite.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
19 Beiträge
Hunt3r2016 Als Antwort am 26 Feb. 2016 15:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank,

Mal sehen was ich da zusammengebaut bekomme. Wenn ich ne passable Lösung habe melde ich mich nochmal. Ansonsten falls jemand was posten könnte wäre ich sehr dankbar.

 

Gruß

Kevin

Ohne Rang
9 Beiträge
Denis Lörch Als Antwort am 26 Feb. 2016 15:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn du willst kannst du dir auch das hier mal anschauen:

https://spservices.codeplex.com/

Vielleicht hilft dir das auch weiter, da musst du mal in der Dokumentation schauen.

 

Grüße

Denis

 

Ohne Rang
19 Beiträge
Hunt3r2016 Als Antwort am 26 Feb. 2016 16:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für den Tipp.

Das Script ist ja mega lang. Mal sehen ob ich vielleicht was finde. Eigentlich brauche ich ja nur ein Script was mir einen Link auf die Liste erstellt gefiltert nach der Eigenschaft "Name" der Site.

Nebenbei habe ich vergessen zu sagen das ich mit SP 2013 arbeite.

Meine Java Kenntnisse reichen nicht mal um eine Pizza zu bestellen.

Gruß

Kevin

Ohne Rang
19 Beiträge
Hunt3r2016 Als Antwort am 29 Feb. 2016 11:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kann vielleicht jemand einen Ansatz schreiben:

Pseudocode:

nimm Name der Seite

Erzeuge Link auf Liste mit Filter auf Namen der Seite.

Selber schreiben kann ich das leider nicht und wirklich durchsehen tue ich auch nicht bei den ganzen Codes die Ihr mir freundlicherweise schon zur Verfügung gestellt habt.

Gruß

Kevin

Ohne Rang
19 Beiträge
Hunt3r2016 Als Antwort am 1 Apr. 2016 12:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nach ein Paar Stunden Arbeit, Forschung und Schweiß ;) habe ich dann doch eine Lösung gebaut.

Für diejenigen die auch mal einen so ein kleines Script benötigen stelle ich es mal hier rein:

var WebUrlPart = _spPageContextInfo.webServerRelativeUrl  // URLPart der Seite auf der man sich befindet
var WebUrlPartCut = WebUrlPart.replace('/Kunden/',"") // Schneide einen gewissen Teil aus; in meinen Fall brauche ich nur die Kundennummer
var NewWebUrl = " *** FilterField1=Kundennummer&FilterValue1="+WebUrlPartCut // erstelle eine neue Variable aus Ziel URL und der Kundennummer
var txt = "alle Verträge des Kunden" // Text der den Link beschreibt

document.write(txt.link(NewWebUrl).fontsize(3)); // Erstellt den Link aus der Variable und passt die Größe an(Individuell)

Das ganze als *.js speichern und Zentral ablegen. Dann nur noch einen Weppart erzeugen und auf das Script verweisen. Schon habt Ihr einen Link mit angepasstem Filter.

​<script src="https://***/Vertragsliste_Link_Filter.js" type="text/javascript"></script>

Funktioniert Super und wird durch die Vorlage durchgereicht.

Gruß

Kevin

Ohne Rang
496 Beiträge
Derby Als Antwort am 6 Apr. 2016 11:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eine andere Möglichkeit wäre ein Suchwebpart was als Ergebnisse Elemente aus der Liste anzeigt, welche über einen Wert aus der URL gefiltert werden. Dazu gibt es den Filterparameter {URLToken.x} (x= die Stelle in der URL, gezählt vom Ende aus /Kunden/Kundennummer/SitePages/home.aspx wäre demnach {URLToken.3} und /Kunden/Kundennummer/Default.aspx wäre {URLToken.2})

Das Feld in der Liste in der die Kundennummer steht must Du noch als Managed Property anlegen und auf das Searched Property der Spalten mappen.

Die Abfrage im Suchewebpart könnte dann so aussehen:

contentclass:STS_ListItem AND ContentTypeID:0x0120020024DDA98B859AC0488C90848913E2253D  Kundenummer:{URLToken.3}

                                                                              CT-ID der Kundenliste                                                      Managed Property des Feldes