Martins Blog - blog.chmielewski-martin.de -

22Jan/100

Manipulieren der SharePoint Menübar von Listen / Bibliotheken

Soeben habe ich hier einen Artikel gefunden, wie man in SharePoint Einträge der Menübar von Listen und Bibliotheken verstecken kann. Die aufgezeigte Lösung funktioniert auch sehr gut, allerdings hat sich auf der Seite ein kleiner semantischer Fehler eingeschlichen. Das im Artikel ausgedachte Ausblenden von Menüeinträgen - um gewisse Funktionalitäten Benutzern nicht zugänglich zu machen - erachte ich als nicht besonders sinnvoll. Über entsprechende Tools können die Elemente wieder eingeblendet werden, die Funktionalität ist ja weiterhin auf der Seite geladen, sie wird nur versteckt.Eine weitere Idee ist jedoch, Menüeinträge zu manipulieren. Dies kann für verschiedene Anwendungsfälle nützlich sein, z. B.:

  • "Standardmenüeinträge" gefallen den Nutzern von den Bezeichnungen nicht
  • "Standardmenüeinträge" passen teilweise von den Bezeichnungen nicht zum Inhalt
  • Mehrere Sprachen

Während die ersten beiden genannten Szenarien wohl eher als weniger interessant zu sehen sind, ist der letzte Fall durchaus nennenswert und denkbar. Content Owner möchten in einer Site eine Liste pflegen und diese in mehreren Sprachen anbieten. Hierbei könnte per JS die Browsersprache ausgelesen werden - oder auch ein Drop-Down Feld mit eienr Auswahl an Sprachen auf die Page eingefügt werden. Diese Möglichkeiten möchte ich an dieser Stelle nicht weiter verfolgen, sie sollen lediglich Denkanstöße (vielleicht habt ihr in den Kommentaren ja noch mehr?!) dienen.
Der nachfolgende Javascript ist ein Codeauszug, um Menüeinträge umzubenennen. Er wird unter die entsprechende Liste / Bilbiothek in ein "Page Viewer Webpart" gepackt. Der Code stammt im wesentlichen von hier und wurde auf meine Bedürfnisse minimal angepasst.

Code   
  1. <script language="JavaScript">
  2. var doc = document.getElementsByTagName('ie:menuitem');
  3. for (var i = 0; i < doc.length; i++) {
  4. itm = doc(i);
  5. if (itm.id.match('New0')!=null) {
  6. itm.setAttribute('text','Auf gehts, neuer Eintrag!',0);
  7. itm.setAttribute('description','Was wird mal hier wohl machen?!',0);
  8. }
  9. // OTHER CODE HERE, e. g. if(itm.id.match('NewFolder')!=null {...}
  10. }
  11. </script>

Der Javascript sucht zunächst nach dem Tag "ie:menuitem". Anschließend wird über diesen Array (es gibt mehrere Menüeinträge) iteriert. Nun kommt es auf die persönlichen Bedürfnisse an. Ich habe in dem Beispiel den Menüeintrag "Neuer Eintrag" bearbeitet. Dieser wird unter  der ID "New0" geführt. Über die "Standard"-Javascript Methode "setAttribute" kann die Eigenschaft "text" sowie "description" geändert werden. Eine Übersicht über die berschiedenen Menüeinträge inklusive internen Bezeichnungen sind in der nachstehenden Tabelle (Quellezu finden.

Menüeintrag Übergeordnetes Menü Menü Text (en)
New0 New New Document (default click)
NewFolder New New Folder
Upload Upload Upload Document
MultipleUpload Upload Upload Multiple Documents
EditInGridButton Actions Edit in Datasheet
OpenInExplorer Actions Open with Windows Explorer
OfflineButton Actions Connect to Outlook
ExportToSpreadsheet Actions Export to Spreadsheet
ViewRSS Actions View RSS Feed
SubscribeButton Actions Alert Me
AddColumn Settings Create Column
AddView Settings Create View
ListSettings Settings Document Library Settings
DefaultView View All Documents (in typical library)
View1 View Explorer View
ModifyView View Modify this view
CreateView View Create view

Übrigens können nicht nur Menüeinträge einer SharePoint Liste oder Bibliothek manipuliert werden, sondern auch Elemente der "Webseitenaktionen", etc. (siehe: hier).

Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Kommentar schreiben


Noch keine Trackbacks.