wBrowseEdit::createButtonApproveDocument
Gibt ein Dokument aus dem Workflow frei
Funktionsaufruf
String createButtonApproveDocument(String path = '', String icon = '', String caption = '', String title = '', Array options = array())
Parameter
- path
- Pfad zu der Datei, i.d.R. Pfad der Arbeitskopie
- icon
- Symbol
- caption
- Beschriftung der Schaltfläche
- title
- Titel der Schaltfläche
- attributes
- Weitere Attribute
- id => String
- ID der Schaltfläche
- class => String
- CSS Klasse
- style => String
- CSS Style
Beispiel: Button, um eine Datei aus dem Workflow freizugeben (inkl. Zurückweisen-Button)
Quelltext
<?php
$documentPath = '<xsl:value-of select="$wDocumentPath"/>'; // Pfad zur freizugebenden Datei
$iconApprove = "approve_document"; // Symbol der Schaltfläche zum Freigeben
$iconReject = "reject_document"; // Symbol der Schaltfläche zum Zurückweisen
$captionApprove = "Freigeben"; // Bezeichnung der Schaltfläche zum Freigeben
$captionReject = "Zurückweisen"; // Bezeichnung der Schaltfläche zum Zurückweisen
$titleApprove = "Klicken Sie hier, um die Datei freizugeben"; // Titel der Schaltfläche
$titleReject = "Klicken Sie hier, um die Datei zurückzuweisen"; // Titel der Schaltfläche
if(wWorkflow::isInWorkflow($documentPath) && wWorkflow::canApproveCurrentLevel($documentPath)){
print '<div style="padding:8px;overflow:hidden;background-color:#e0e0e0;border-bottom:solid 1px #a0a0a0;">';
if(wPathName::isDraft($documentPath)){
print '<h1 style="color:red;font-size:14px;font-family:arial, helvetica;">Diese Version befindet sich im Workflow und ist noch nicht sichtbar.</h1>';
print '<p style="margin:0">'.wBrowseEdit::createButtonApproveDocument($documentPath, $iconApprove, $captionApprove, $titleApprove).' '.wBrowseEdit::createButtonRejectDocument($documentPath, $iconReject, $captionReject, $titleReject).'</p>';
}
else{
print '<h1 style="font-size:14px;font-family:arial, helvetica;">Eine neuere Version befindet sich im Workflow und kann von Ihnen freigegeben werden.</h1>';
print '<p style=""><a target="_blank" href="'.wPathName::getPathDraft($documentPath).'">Geänderte Version anzeigen</a></p>';
}
print '</div>';
}
?>Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.
FAQs
- Wofür ist wBrowseEdit::createButtonApproveDocument gedacht?
- Die Funktion erstellt eine Schaltfläche, um ein Dokument im Workflow freizugeben ("Freigeben").
- Welche Parameter unterstützt wBrowseEdit::createButtonApproveDocument?
- Unterstützt werden: <code class="codeInline">path</code> (Pfad zur Datei, i.d.R. Arbeitskopie), <code class="codeInline">icon</code> (Symbol), <code class="codeInline">caption</code> (Beschriftung), <code class="codeInline">title</code> (Titel der Schaltfläche) sowie <code class="codeInline">options</code> (weitere Optionen; in der Signatur als <code class="codeInline">Array options = array()</code>).
- Was sollte bei dem Parameter „path“ übergeben werden?
- Üblicherweise wird der Pfad zur Arbeitskopie (also zur freizugebenden Datei) übergeben, z. B. <code class="codeInline">path = '<xsl:value-of select="$wDocumentPath"/>'</code>. Im Beispiel wird damit geprüft, ob das Dokument im Workflow ist und freigegeben werden darf.
- Welche Bedeutung haben „icon“, „caption“ und „title“?
- <code class="codeInline">icon</code> ist das Symbol für die Schaltfläche (z. B. <code class="codeInline">approve_document</code>), <code class="codeInline">caption</code> ist der sichtbare Text auf der Schaltfläche (z. B. „Freigeben“), und <code class="codeInline">title</code> ist der Tooltip-/Titeltext der Schaltfläche (z. B. „Klicken Sie hier, um die Datei freizugeben“).
- Wie kann man im Beispiel auch einen „Zurückweisen“-Button erstellen?
- Im Beispiel wird neben <code class="codeInline">wBrowseEdit::createButtonApproveDocument(...)</code> zusätzlich <code class="codeInline">wBrowseEdit::createButtonRejectDocument(...)</code> aufgerufen, um eine kombinierte Freigabe- und Zurückweisungsschaltfläche auszugeben.
- Wann wird die Freigabe-Schaltfläche im Beispiel überhaupt ausgegeben?
- Die Ausgabe erfolgt nur, wenn <code class="codeInline">wWorkflow::isInWorkflow($documentPath)</code> **und** <code class="codeInline">wWorkflow::canApproveCurrentLevel($documentPath)</code> true sind. Das stellt sicher, dass das Dokument im Workflow ist und auf der aktuellen Ebene genehmigt werden darf.
- Was passiert im Beispiel, wenn die Version eine Draft-Version ist?
- Wenn <code class="codeInline">wPathName::isDraft($documentPath)</code> true ist, wird eine Meldung ausgegeben („Diese Version befindet sich im Workflow und ist noch nicht sichtbar.“) und die Freigabe-Schaltfläche(n) werden trotzdem zusammen mit dem Kommentarbereich angezeigt.
- Was wird angezeigt, wenn keine Draft-Version vorliegt?
- Ist es kein Draft, zeigt das Beispiel stattdessen eine Meldung an („Eine neuere Version befindet sich im Workflow…“) und bietet einen Link zur geänderten Version an (<code class="codeInline">wPathName::getPathDraft($documentPath)</code>), typischerweise als „Geänderte Version anzeigen“.
- Wie lautet die Funktionssignatur von wBrowseEdit::createButtonApproveDocument?
- <code class="codeInline">String createButtonApproveDocument(String path = '', String icon = '', String caption = '', String title = '', Array options = array())</code>