EasyCatalog-Tabellenfelder Schritt-für-Schritt Tutorial
Inhalt
- Einführung
- Grundidee
- Die XML-Datei
-
Eine EasyCatalog-Palette aus der XML-Datei erstellen
- Standardfelder
- XML-Fragment für Tabellenfeld
-
Die Feldoptionen für das Tabellenfeld
- Ein Feld zum Tabellenfeld machen
- XSLT-Stilinformationen einstellen
- Zusätzliche Weiterverarbeitung mittels Lua
-
Einen Produktstil bauen mit einem Tabellenfeld
- Eine Tabelle erstellen
- EasyCatalog-Tabellenoptionen einstellen
- EasyCatalog-Felder in die Tabelle eintragen
- Fertig!
Einführung
- Mit Version CC 2017 von Adobe InDesign stand auch eine neue Version von EasyCatalog zur Verfügung
-
Die neue EasyCatalog-Version enthält viele Erweiterungen
-
Neues Feldformat wurde eingeführt: Tabellenfeld (engl. tabular field)
- Tabellen werden per XSLT-Stil aufgebaut
- Weitere Verarbeitung geschieht mit Skript-Sprache Lua
-
Zusatzfelder können unterschieden werden nach Standard und Erweitert
- Standardfelder funktionieren wie in den Vorversionen
- Erweiterte Felder können mit der Skript-Sprache Lua gefüttert werden
- Verbesserungen an der Bedienoberfläche
- Weitere neue Funktionen
- Diverse Fehlerbehebungen
-
Neues Feldformat wurde eingeführt: Tabellenfeld (engl. tabular field)
-
In der vorliegenden Schritt-für-Schritt-Anleitung wird eingegangen auf:
- Wie erstelle ich ein Tabellenfeld?
- Wie kann die Weiterverarbeitung von Inhalten des Tabellenfeldes mit der Skriptsprache Lua erfolgen?
Die Grundidee
- Als Beispiel soll ein einfacher Katalog von Wanderschuhen aufgebaut werden
- Die Schuhpreise sind teilweise größenabhängig und sollen tabellarisch dargestellt werden mit der Schuhgröße in einer Spalte und dem Preis in einer weiteren
- Voraussetzung für alle folgenden Überlegungen ist, das entweder der gesamte Datenbestand als XML-Datei vorliegt oder zumindest der Teil davon, der tabellarisch dargestellt werden soll, in unserem Beispiel also die Preis- und Größendaten
-
Technisch:
- Die Preis- und Größendaten werden als XML-Fragment in ein EasyCatalog-Feld geladen
- Das Feld bekommt in der EasyCatalog-Palette das neue Format Tabellenfeld
- Das Tabellenfeld wird per XSLT-Stil in eine HTML-Tabelle umgeformt
- Der Produktstil besteht aus einer InDesign-Tabelle mit den tabellarischen Daten aus dem Tabellenfeld
Die XML-Datei
- Beispiel: Einfacher Katalog von Wanderschuhen
- Es muss genau ein Wurzel-Element geben, hier <products>
- Jeder Artikel steht in einer <product>...</product>-Struktur
- Es gibt Standardfelder, z.B. order_number oder color
- Die Varianten variation unterscheiden sich nach Schuhgröße und Preis; diese sollen tabellarisch angeordnet werden im Katalog
Eine EasyCatalog-Palette aus der XML-Datei erstellen
- Hauptmenü: Datei - Neu - EasyCatalog Palette - Neue XML-Datenquelle
- XML-Datei auswählen
- Datensatz-XPath eingeben: mit dieser XPath-Anweisung werden alle Datensätze gesucht, in unserem Beispiel alle Schuhe (Element <product> aus XML-Datei)
- Nach Eingabe des XPath den Knopf Auswerten drücken
- Mit dem Knopf Neu... fügen Sie neue Felder zu Ihrer EasyCatalog-Palette hinzu (siehe nächste Seiten)
- Abschließend betätigen Sie OK, um die Palettenkonfiguration abzuschließen und die neu erstellte Palette zu öffnen
- Weitergehende Informationen über XPath: http://www.w3schools.com/xml/xpath_intro.asp
Ein Standardfeld zur EasyCatalog-Palette hinzufügen
- Am einfachsten dürfte es sein, einen Eintrag aus dem Auswahlfeld Beispiel zu wählen, soweit möglich
- Die Felder Name und Pfad werden dann automatisch gefüllt
- Anpassungen können jederzeit vorgenommen werden
- Als Pfad muss ein XPath-Pfad eingegeben werden, ausgehend vom Datensatz-XPath aus dem vorherigen Dialog
- Im vorliegenden Beispiel in der Abbildung wäre der vollständige XPath: /products/product/color/text()
- Das entspricht genau dem Ort der Farben der Schuhe in unserer Beispiel-XML-Datei
- text() meint den Inhalt der Einträge <color>...</color> in der XML-Datei
Ein XML-Feld zur EasyCatalog-Palette hinzufügen
- Voraussetzung für die spätere Verwendung eines Feldes als Tabellenfeld ist es, dass ein sog. XML-Fragment vorliegt
- Aktivieren Sie dazu das entsprechende Kontrollfeld
- Als Pfad verwenden wir im Beispiel das Element <variations> aus der XML-Datei und gehen mit dem Anhängen von /.. wieder eine Ebene nach oben in der XML-Datei
- Dadurch wählen wir in Wirklichkeit das Produkt-Element <product> aus
- Später werden wir in den Tabellenoptionen wieder tiefer in die XML-Hierarchie absteigen und die einzelnen <variation>-Elemente ermitteln
- Sinn: ein XML-Fragment muss selber valides XML darstellen und darf nur einen Wurzelknoten haben
- Das ist für <variations> selber nicht der Fall, da es davon ja mehrere Einträge pro Produkt gibt
- /.. wählt genau das eine übergeordnete Produkt aus, so dass das XML-Fragment valide wird
- Man hätte auch einfach einen Punkt . eingeben können und hätte dasselbe erreicht; zur besseren Veranschauung haben wir uns aber für die andere Variante entschieden
Die Palette in einer ersten Fassung
- Sie sehen die Palette, wie sie ähnlich nach dem erstmaligen Öffnen nach Abschluss der Konfiguration aussehen könnte
- In der Beispielabbildung ist die Palette bereits nach dem Feld category gruppiert
- Außerdem, und hier durch das kleine Bild zu erkennen, wurde bereits das Feld image als Bildfeld festgelegt und konfiguriert
- Die verfügbaren Größen im Feld available_sizes enthalten jedoch immer noch lediglich das XML-Fragment
- Dies ändern wir in den folgenden Schritten
Ein Tabellenfeld erstellen
- Klicken Sie mit der rechten Maustaste auf die Spalte, die Sie zum Tabellenfeld machen möchten, im Beispiel also available_sizes
- Als Feldformat wählen Sie Tabellenfeld
- Quelle ist Feldinhalt und der Feldinhalt selber ist XML
- Um aus den XML-Inhalten des Feldes eine Tabelle zu machen, betätigen Sie nun den Knopf Konfigurieren...
Das Tabellenfeld konfigurieren - Tabelle aufbauen
- Im Konfigurieren...-Dialog gibt es ein großes Eingabefeld, das eine sog. XSLT-Transformation aufnimmt
- Das vorliegende Beispiel macht folgendes:
- Es wird eine Tabelle <table> erzeugt
- Es werden alle Elemente variation durchlaufen
- Für jedes dieser Elemente wird eine neue Zeile in die Tabelle aufgenommen mit drei Spalten
- Spalte 1 und 3 werden mit den Inhalten der Elemente <size> und <price> der <variation> gefüllt
- Spalte 2 wird zunächst nur mit einem Dummy-Text gefüllt; hier soll der Netto-Preis ohne MwSt. hinein - das geschieht dann im nächsten Schritt
- Mehr Informationen zu XSLT gibt es unter: http://www.w3schools.com/xml/xsl_intro.asp
Das Tabellenfeld konfigurieren - Zusätzliche Verarbeitung
- Die zusätzliche Verarbeitung findet mit Hilfe der Skriptsprache Lua statt
- Folgendes mach das oben angegebene Skript:
- Durchlaufe alle Zeilen der Tabelle (die mit der XSLT-Transformation erstellt wurde)
- Lade den Brutto-Preis aus der dritten Spalte und wandle ihn in eine Zahl um
- Ziehe 19% MwSt. (Netto = Brutto / 1,19) ab
- Wandle den Bruttopreis in einen Text mit zwei Nachkommastellen um
- Fülle den so erhaltenen Bruttopreis in die Spalte zwei der gerade verarbeiteten Zeile
- Weitere Informationen zu Lua gibt es unter: https://www.lua.org/
EasyCatalog-spezifische Informationen zu Lua finden
- EasyCatalog-spezifische Informationen zu Lua finden Sie, wenn Sie in den Feldoptionen einer Palette auf die Karteikarte Aussehen gehen und dort das Info-Symbol anklicken (siehe Abbildung)
Einen Produktstil bauen mit einem Tabellenfeld
- Neben den anderen Feldern wie z.B. Name, Farbe oder Artikel-Nr. soll eine Tabelle mit Größen und Preisen eingefügt werden, in der Abbildung rot umkringelt
- Dazu fügt man zunächst eine Tabelle mit einer Kopf- und einer Körperzeile sowie der passenden Anzahl von Spalten ein
- Wenn jetzt schon möglich, wird die Tabelle so formatiert, wie sie später aussehen soll
- Weiter geht es auf der nächsten Seite
EasyCatalog-Tabellenoptionen einstellen
- Die Tabelle erhält die Einfügemarke und man ruft die Tabellenoptionen aus dem Menü der EasyCatalog-Palette auf
- Durch die Wahl von Befülle aus Tabellenfeld weist man EasyCatalog an, die Daten entsprechend in die neue Tabelle zu füllen
- Als Feld wählt man nun das früher konfigurierte Tabellenfeld, im Beispiel also available_sizes
- Wichtig: Wenn die Tabelle Kopf- oder Fußzeilen enthalten, sollten Sie die entsprechenden Kontrollkästchen zu deren Erhalt aktivieren, sonst werden sie beim Paginieren der Daten gelöscht
Felder in die Tabelle eintragen
- Man erweitert in der EasyCatalog-Palette die Ansicht des Tabellenfeldes, so dass dessen Daten sichtbar werden (Größen und Preise in der obigen Abbildung)
- Man platziert die Einfügemarke in die erste zu befüllende Tabellenkörper-Zelle
- Nun erfolgt ein Doppelklick bei gedrückter Umsch.-Taste; der Feldinhalt wird platziert, z.B. [34]
- Man verfährt mit den weiteren Spalten genauso
- Zum Abschluss kann man, wenn gewünscht, die konkreten Daten zurückwandeln in Feldspezifikatoren; dabei hilft der entsprechende Punkt aus dem EasyCatalog-Palettenmenü
- Nun steht der erfolgreichen Paginierung des neuen Tabellenfeldes nichts mehr im Wege!
Fertig
- Anhand eines einfachen Beispiels haben wir gezeigt, wie die neuen Tabellenfelder von EasyCatalog verarbeitet werden können
- Sie haben gelernt, was bei der Erstellung der EasyCatalog-Palette zu beachten ist sowie, wie man anhand der Feldoptionen aus einem XML-Fragment tabellarische Daten macht
- Schließlich haben Sie erfahren, wie Sie einen Produktstil erstellen, der die Daten des zuvor erstellten Tabellenfeldes enthält
- Viel Erfolg beim eigenen Ausprobieren!