Template Fehler
Erkennen und Beheben von Fehlern in Ihren Vorlagen
Mit Doxey können Sie aus Ihren Vorlagen anspruchsvolle Dokumente generieren, indem Sie Tabellen, verschachtelte Bedingungen, Schleifen und vieles mehr verwenden.
Da Sie eine Menge komplexer Funktionen verwenden können, haben Sie auch viele Möglichkeiten, Fehler zu erzeugen. Damit Sie Fehler in Ihren Vorlagen leichter aufspüren können, zeigt Doxey Fehlermeldungen direkt in Ihren Dokumenten an, wenn Sie Dokumente im Testmodus generieren.
Test mode
Aktivieren Sie den Testmodus über das Icon rechts in der Symbolleiste.
Wenn der Testmodus aktiviert ist, wird die Arbeitsfläche grün.
Im folgenden Abschnitt werden die Fehler erläutert, die in Ihren Dokumenten auftreten können.
Invalid expression
Sie haben etwas eingegeben, das Doxey nicht verstehen kann. Bitte lesen Sie die Anleitung über die Templates Grundlagen sorgfältig durch.
Not an array
Sie haben versucht, auf ein Element in einer Liste oder einem Array zuzugreifen, aber die Variable ist kein Array.
Nehmen wir an, Sie haben eine Variable namens name
mit dem Wert Daniel
, dann führt die Verwendung eines Tags wie ${name[2]}
zu diesem Fehler.
Invalid array syntax
Sie haben versucht, auf ein Array zuzugreifen, aber die eckigen Klammern wurden falsch gesetzt. Stellen Sie sicher, dass Sie diese [
vor jener]
haben und auch beide verwenden.
Index out of bounds
Sie haben versucht, auf ein Element in einer Liste oder einem Array zuzugreifen, aber es enthält nicht so viele Elemente, wie Sie erwartet haben.
Nehmen wir an, Sie haben den Array names
, der zwei Namen enthält, dann führt der Zugriff auf den dritten Namen wie ${name[3]}
zu diesem Fehler.
Bitte beachten Sie, dass die Elemente in einer Liste oder in einem Array mit dem Index 0 beginnen. Wenn Sie den Array names
haben, werden die names[0]
für den ersten Namen ausgeben, die names[2]
für den dritten usw.
Invalid index
Sie versuchen, auf ein Element in einem Array zuzugreifen, haben aber keinen legalen Index verwendet.
Nehmen wir an, Sie haben ein Array mit dem Namen names
mit drei Elementen Daniel
, Olli
und Esther
, dann können Sie auf sie zugreifen, indem Sie ${names[0]}
verwenden, um Daniel
zu drucken,${names[2]}
um Esther
zu drucken, oder ${names[last]}
um auch Esther
zu drucken.
Wenn Sie versuchen auf sie zuzugreifen, indem Sie etwas wie ${names[end]}
oder ${names[hello]}
benutzen, funktioniert das nicht und verursacht diesen Fehler.
No call on a string
Sie versuchen auf eine Variable zuzugreifen, als hätte sie Eigenschaften, aber es ist nur eine Zeichenfolge. Nehmen wir an, Sie haben eine Variable namens name
mit dem Wert Daniel
, dann wird der Zugriff auf etwas wie ${name.email}
diesen Fehler verursachen.
Property access error
Sie versuchen, auf eine Eigenschaft eines Objekts zuzugreifen, das nicht existiert. Es gibt mehrere Situationen, die diesen Fehler verursachen können.
Nehmen wir an, Sie haben eine Tabelle mit mehreren Spalten geladen. Dann haben Sie eine Reihe von Variablen wie ${mysheet[].myfirstcolumn}
, ${mysheet[].mysecondcolumn}
und so weiter. Wenn Sie nun auf ein ${mysheet[0].hello}
zugreifen, werden Sie diesen Fehler bekommen, da die Spalte mit dem Namen hello
nicht existiert.
Dieser Fehler kann auch dann auftreten, wenn Sie versuchen, auf eine Eigenschaft zuzugreifen, aber nicht auf die richtige Weise.
Wenn wir das gleiche Beispiel wie vorher verwenden und Sie versuchen, auf ${mysheet[].myfirstcolumn}
zuzugreifen, gibt es Ihnen den gleichen Fehler wie bei mysheet[]
ist eine Liste und kein Objekt!
Es enthält alle Zeilen und Sie fragen nach myfirstcolumn
, ohne auf eine bestimmte Zeile zuzugreifen oder eine Schleife zu benutzen, um alle Werte auszudrucken.
Unmatched end
Sie haben ein ${end}
Tag in Ihrer Vorlage verwendet, aber Sie haben keine übereinstimmende ${if …}
oder ${foreach …}
Anweisung erstellt.
Missing end
Sie haben eine ${if.. }
oder ${foreach …}
Aussage in dem Template verwendet, aber keine ${end}
Aussage.
Else out of scope
Sie haben ein ${else}
Tag in Ihrem Template verwendet, aber es ist nicht innerhalb einer ${if …}
Anweisung.
Foreach incomplete
Sie haben versucht eine ${foreach... }
Anweisung zu erstellen, aber Sie haben vergessen, einen Variablennamen anzugeben, um auf jedes Element in der Liste zuzugreifen.
Iterator mismatch
Sie versuchen, eine Liste oder Tabelle aus Ihren Daten zu erstellen, haben aber auf verschiedene Listen in derselben Tabelle zugegriffen!
Nehmen wir an, Sie haben eine Autoren- und eine Bücherliste.
Sie können nun eine Tabelle mit den Autoren oder den Büchern erstellen - wenn Sie aber beides mischen, wird es zu einem Fehler kommen:
Name des Autors |
Buchtitel |
|
|
Die obige Tabelle führt zu einem Fehler, da Doxey versucht hat, für jeden Autor eine Zeile zu erstellen, erhält dann aber die Anweisung, den Titel eines Buches anzuzeigen. Sie können sich entweder mit Autoren oder Büchern in derselben Tabelle beschäftigen, aber nicht mit beiden.
Incomplete tag
Sie haben eine ungültige Syntax verwendet. Bitte lesen Sie die Anleitung zu Templates sorgfältig durch.
Dieser Fehler wird angezeigt, wenn Sie nicht alle sich öffnenden Klammern mit den entsprechenden schließenden Klammern geschlossen haben.
Die folgende Tabelle zeigt eine Reihe häufiger Fehler.
Name |
Beschreibung |
|
Sie haben die geschweifte Klammer |
|
Sie haben im Renderer-Parameter eine ungültige Syntax verwendet. Verwenden Sie niemals offene Klammern, um auf Variablen in den Renderer-Parametern zuzugreifen. In diesem Beispiel verwenden Sie einfach stattdessen |
Questions and Feedback
If you have any comments on this page, feel free to add suggestions right to the Google document that we are using to create this site.
If you are not yet member of the Doxey community, please join now to get updates from our end or to provide feedback, bug reports and discuss with other users.
Last Updated: 03.01.20