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.




SP Webpart "Infopath Ribbon Buttons" listviewitem

Geprüfte Antwort Dieser Beitrag hat 8 Antworten

Ohne Rang
13 Beiträge
GaH erstellt 4 Dez. 2012 17:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moin.

Ich habe eine Liste "ABC" in der Items stehen. Ich habe ein Infopath Formular erstellt in welchem ich bei Ansicht eines Items oben in der Ribbon leiste Buttons erzeuge.

Die Buttons selbst stehen, nun fehlt aber noch die Funktion dahinter.

Ich habe via VS 2010 ein neues leeres SP Projekt erstellt, in welchem ich ein leeres Element hinzugefügt habe, diesen im "Feature 1" verwiesen und die Buttons angelegt in der Elements.xml

 

Nun will aber den Jscript dahinter schreiben, jedoch ist in der Elements.xml kein jscript zulässig und laut andere Tutorials soll dieser Code in den dazugehörigen "main master page" geschrieben werden soll. Allerdings find ich keinen solchen Main Master Page und wie ich diesen erhalte weiß ich nun leider auch nicht. Hat jmd eine Idee? Oder weiß jmd was ich falsch mache?

 

Beste Grüße!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Dez. 2012 08:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Erstelle eine neue .js-Datei und schreibe dort Dein Script. Die Datei kannst Du z.B. in einen eigenen Unterordner von 14\Template\Layouts deployen. Das geht in Visual Studio über Add -> SharePoint Mapped Folder. Diese Datei referenzierst Du in der elements.xml über ein eigenes <CustomAction type="ScriptLink" src="..." id="..."/>

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
13 Beiträge
GaH Als Antwort am 6 Dez. 2012 13:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich probier gerade deinen Vorschlag aus...und sry wenn ich mich gerade etwas dumm anstelle, aber den Ordner hab ich hinterlegt und im VS im Projekt hinzugefügt. 

Bei der Referenzierung stolper ich aber noch etwas umher, da der CustomAction kein "type="" erkennt. Meine Elements.xml sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <CustomAction Id="Ribbon.InfoPath.Actions.TicketStatusButton"

    Location="CommandUI.Ribbon"

    Rights="ManageLists"

    Title="TicketStatus">

    <CommandUIExtension>

      <CommandUIDefinitions>

        <CommandUIDefinition Location="Ribbon.Tabs.InfoPathListDisplayTab.Manage.Controls._children">

          <Button Id="Ribbon.Tabs.InfoPathListDisplayTab.Manage.Controls._children.AnnehmenButton"

            Sequence="50" Command="AnnehmenButtonCommand"

            Image32by32="http://sharepoint-site/Images1/annehmen.png"

            LabelText="Ticket annehmen"

            TemplateAlias="o1"

            ToolTipTitle="Ticket annehmen" />

        </CommandUIDefinition>

      </CommandUIDefinitions>

      <CommandUIHandlers>

        <CommandUIHandler Command="AnnehmenButtonCommand" CommandAction=""/>                     

      </CommandUIHandlers>

    </CommandUIExtension>

  </CustomAction>  

</Elements>

 

Was mache ich falsch?

Zur Verständnis nochmal das was ich vor habe: Ein Button in der Ribbonleiste wenn ich ein ListItem ansehe, bei einem Klick soll ein Workflow getriggert werden.

Das Problem nervt mich seit Tagen,...und langsam aber sicher erreich ich das Ende meiner Lust an diesem (wahrscheinlich) sehr trivialen Problem #gna

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Dez. 2012 15:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Füge einfach unterhalb der CustomAction für den Ribbon-Button noch eine für den ScriptLink ein.

[quote user="TEMPner"]Bei der Referenzierung stolper ich aber noch etwas umher, da der CustomAction kein "type="" erkennt[/quote]

Sorry, man muß das Location-Attribut dafür verwenden. Das hätte Dir eine kurze Google-Suche mit CustomAction und ScriptLink aber auch verraten ;-)

Es muß jedenfalls so aussehen:
<CustomAction Id="..." Location="ScriptLink" ScriptSrc="/_layouts/..." />

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
13 Beiträge
GaH Als Antwort am 6 Dez. 2012 15:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok, mein Fehler.

Aber, ich habs auch schon geändert.

Ich bin nun hingegangen und hab im SP Designer den v4.master angepasst ... habe dort mein Script reingeschrieben und versuche nun dort in einer Function ein Workflow anzutriggern, vllt dazu eine Lösung? vielen Dank!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Dez. 2012 15:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="TEMPner"]Ich bin nun hingegangen und hab im SP Designer den v4.master angepasst [/quote]

"Schöner" ist es natürlich, wenn das Script auch über Deine Solution bereitgestellt wird.

 [quote user="TEMPner"]versuche nun dort in einer Function ein Workflow anzutriggern[/quote]

Per JavaSCript? Keine Ahnung, ob das überhaupt geht. Wenn dann wahrscheinlich nur indirekt, indem etwas am Element geändert wird und das triggered dann den Workflow.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
13 Beiträge
GaH Als Antwort am 6 Dez. 2012 15:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

 [quote user="TEMPner"]versuche nun dort in einer Function ein Workflow anzutriggern[/quote]

Per JavaSCript? Keine Ahnung, ob das überhaupt geht. Wenn dann wahrscheinlich nur indirekt, indem etwas am Element geändert wird und das triggered dann den Workflow.

[/quote]

 

Die Idee gefällt mir...unschön, aber wenn es klappt. Danke für den Denkanstoß!

 

Ohne Rang
13 Beiträge
GaH Als Antwort am 6 Dez. 2012 16:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Andi hast du ne Idee?

 

Die von mir erstellten Buttons sind sichtbar wenn ich das Item öffne also "ansehe" (view listitem). Nun will ich dieses listitem verändern, indem ich einfach ein Feld auf z.B.: 1 setze.

Mir fehlt gerade ziemlich die Konzentration darauf zu kommen. Das ganze soll halt im Jscript geschehen. Wie ich ein listitem veränder hab ich ziemlich schnell bei google gefunden, aber wie ich das gerade offene listitem anspreche ôo moeh :(

 

(hab in ca. ner halben Stunde ne kurze Präsi des Webparts, daher die bitte um Hilfe, anstatt einfach morgen weiterzumachen)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Dez. 2012 16:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst bei CustomActions diverse Tokens verwenden, die zur Laufzeit ersetzt werden. Ich habe auch die Schnelle nur diesen alten Link gefunden, aber der gilt im Wesentlichen noch: http://hristopavlov.wordpress.com/2008/12/08/urlaction-tokens-of-the-customaction-feature/

Damit kannst Du die ID des aktuellen Elements an Dein JavaScript übergeben.

Viele Grüße
Andi
af @ evocom de
Blog