60
edits
Gschratzer (talk | contribs) Tag: 2017 source edit |
|||
| Line 16: | Line 16: | ||
==Voraussetzung== | ==Voraussetzung== | ||
*Dolibarr: 3.1+ | *Dolibarr: 3.1+ | ||
*OpenOffice: 3.2+, LibreOffice, ... | *OpenOffice: 3.2+, LibreOffice, ... | ||
==Erstellen Sie Ihr Dokument== | ==Erstellen Sie Ihr Dokument== | ||
* Erstellen Sie von Grund auf ein leeres OpenOffice-Dokument oder nehmen Sie ein bereitgestelltes Beispiel. Sie finden sie installiert in einem Unterverzeichnis von Verzeichnis '''documents/doctemplates''' | *Erstellen Sie von Grund auf ein leeres OpenOffice-Dokument oder nehmen Sie ein bereitgestelltes Beispiel. Sie finden sie installiert in einem Unterverzeichnis von Verzeichnis '''documents/doctemplates''' | ||
* Bearbeiten Sie Ihr Dokument mit allen Funktionen Ihrer Office-Suite. | *Bearbeiten Sie Ihr Dokument mit allen Funktionen Ihrer Office-Suite. | ||
Fügen Sie die Tags in Ihr Dokument ein, die Sie sehen möchten. Tags werden während der Dokumentengenerierung automatisch von Dolibarr ersetzt. Eine Liste aller verfügbaren Tags wird im nächsten Kapitel bereitgestellt. | Fügen Sie die Tags in Ihr Dokument ein, die Sie sehen möchten. Tags werden während der Dokumentengenerierung automatisch von Dolibarr ersetzt. Eine Liste aller verfügbaren Tags wird im nächsten Kapitel bereitgestellt. | ||
[[File:Dolibarr-Vorlage-Angebot demo.pdf|alt=Beispiel einer Vorlage im ODT-Format|center|thumb|Beispiel einer Vorlage im ODT-Format]] | |||
[[File:warning.png]] | [[File:warning.png]] | ||
| Line 78: | Line 80: | ||
Damit Ihre Substitutionsfunktion aufgerufen wird, müssen Sie Folgendes tun: | Damit Ihre Substitutionsfunktion aufgerufen wird, müssen Sie Folgendes tun: | ||
*Stellen Sie sicher, dass Ihre Substitutionsdatei im Verzeichnis '''htdocs/monmodule/core/substitutions''' gespeichert ist. | *Stellen Sie sicher, dass Ihre Substitutionsdatei im Verzeichnis '''htdocs/monmodule/core/substitutions''' gespeichert ist. | ||
*Erstellen Sie ein Modul (siehe Seite [[Développement module]]) mit seiner Modulbeschreibungsdatei. | *Erstellen Sie ein Modul (siehe Seite [[Développement module]]) mit seiner Modulbeschreibungsdatei. | ||
*Stellen Sie sicher, dass die Modulbeschreibungsdatei einen Eintrag enthält, um anzugeben, dass eine Substitutionsdatei aufgerufen werden soll. Dies sollte eine | *Stellen Sie sicher, dass die Modulbeschreibungsdatei einen Eintrag enthält, um anzugeben, dass eine Substitutionsdatei aufgerufen werden soll. Dies sollte eine | ||
< | |||
<syntaxhighlight lang="PHP"> | |||
$this->module_parts = array('substitutions' => 1) | $this->module_parts = array('substitutions' => 1) | ||
</ | </syntaxhighlight> | ||
*Modul aktivieren (ein Modul muss aktiviert und deaktiviert werden, um Änderungen in seiner Deskriptordatei zu berücksichtigen) | *Modul aktivieren (ein Modul muss aktiviert und deaktiviert werden, um Änderungen in seiner Deskriptordatei zu berücksichtigen) | ||
| Line 92: | Line 96: | ||
Ähnlich wie im vorherigen Kapitel müssen Sie eine Funktion auf die gleiche Weise definieren, jedoch mit einigen Unterschieden: | Ähnlich wie im vorherigen Kapitel müssen Sie eine Funktion auf die gleiche Weise definieren, jedoch mit einigen Unterschieden: | ||
*Erstellen oder bearbeiten Sie dieselbe Datei wie zuvor (siehe vorheriges Kapitel). | *Erstellen oder bearbeiten Sie dieselbe Datei wie zuvor (siehe vorheriges Kapitel). | ||
*Hier sind die Unterschiede: Schreiben Sie in der Datei eine andere Funktion mit fast demselben Namen, jedoch mit '_lines' als Suffix, und fügen Sie auch eine neue Variable $lines hinzu: | *Hier sind die Unterschiede: Schreiben Sie in der Datei eine andere Funktion mit fast demselben Namen, jedoch mit '_lines' als Suffix, und fügen Sie auch eine neue Variable $lines hinzu: | ||
< | <syntaxhighlight lang="PHP"> | ||
/** Function called to complete substitution array for lines (before generating on ODT, or a personalized email) | /** Function called to complete substitution array for lines (before generating on ODT, or a personalized email) | ||
* functions xxx_completesubstitutionarray_lines are called by make_substitutions() if file | * functions xxx_completesubstitutionarray_lines are called by make_substitutions() if file | ||
| Line 113: | Line 118: | ||
$substitutionarray['myowntag']=$myvalue; | $substitutionarray['myowntag']=$myvalue; | ||
} | } | ||
</ | </syntaxhighlight> | ||
Im Gegensatz zur vorherigen Funktion, die immer nur einmal aufgerufen wird, wird diese Funktion jedes Mal bei der Bearbeitung einer Produktzeile aufgerufen und gibt Ihnen jedes Mal ein anderes $line-Objekt, das Sie bearbeiten können. Dadurch können Sie für jedes Produkt unterschiedliche Tag-Ersetzungen vornehmen. | Im Gegensatz zur vorherigen Funktion, die immer nur einmal aufgerufen wird, wird diese Funktion jedes Mal bei der Bearbeitung einer Produktzeile aufgerufen und gibt Ihnen jedes Mal ein anderes $line-Objekt, das Sie bearbeiten können. Dadurch können Sie für jedes Produkt unterschiedliche Tag-Ersetzungen vornehmen. | ||
edits