User-Logon

Download der aktuellen Versionen.

Benutzer:
Kennwort:

Sie wollen Preisfeeds verändern? Wie Sie eigene Feeds definieren oder vorhandene Verändern, das können Sie hier nachlesen. Achtung: Bei Neuauslieferung des Tools müssen Sie eigene Anpassungen immer wieder in die neue Version übernehmen (kopieren).

Online Handbuch:

Vorab

Installation

Release Notes

Erstnutzung der Sitemap

Suchfunktion verbessern

Automatisierung der Datenaufbereitung

Pricefeeds erstellen

PDF Kataloge erstellen

Devisenkursfunktion automatisieren

TagCloud erstellen

Customizen und Sonderfunktionen

Layout anpassen

Profi-Version und Ihre Unterschiede

Problembehandlung

Anhang

Ersatz-Tool:

Überblick über die Funktionen

Vollständige Sitemap

Vernünftige Suchlogik

Suchergebnisse mit Direktkaufen

Umfassendes Suchergebnis

Verbesserte Sitemap.xml

Automatische TagClouds

Individuelle Pricefeeds

Online-Bestände als Liste

Druckbarer Produktkatalog

Aktuelle Wechselkurse

Hohe Automatisierung

Lange Entwicklungsgeschichte

Referenzen

Bestellung & Handbuch

Online Handbuch

Allgemein:

Startseite

§6 TDG Kennzeichnung

Warenkorb

Referenzen und Gästebuch

Kontakt

Mobil A
Mobil D
Office
Fax
+43 (68) 110 622 322
+49 (175) 29 843 83
+49 (89) 820 738-24
+49 (89) 820 738-29

 

Vermeidung von SPAM

Um SPAM zu vermeiden, finden Sie auf der gesamten Site keine e-Mail Adresse. Sie können aber über das Anfrage-Formular, oder die Links für "e-Mail senden" eine e-Mail an e-Consultance senden. Die e-Mail-Adresse wird im Moment des Clicks generiert und ist damit für normale Internet-Scanner derzeit noch nicht ermittelbar.

Wichtige Seiten

Referenzen

Bestellung & Handbuch

Sie sind hier: »  Startseite  »  Ersatz-Tool »  Online Handbuch »  Customizen und Sonderfunktionen  » Pricefeeds customizen

Pricefeeds customizen


Konfiguration der Feeds allgemein

Ein Preisfeed hat einen Namen in der Titel-Spalte „B“ in <e-pricefeeds>, der sich im Blatt <Formeln-pricefeeds> in der Spalte A wiederfinden muss. In der Spalte F in dieser Zeile muss die Formel „=zeile()“ stehen und in der Spalte H ist der spätere Dateiname angegeben.

Die erste Zeile ist die Feed-Definitionezeile (und ist nur für das Tool wichtig, um die Definition einem Feed zuzuordnen und einen Dateinamen zu bestimmen).
In der Folgezeile (zweite Zeile) befindet sich der Header, also die Überschriftszeile des zu erzeuigenden Preisfeeds.
Die dritte Zeile definiert die Art der Information (i.d.R. Informationen aus dem Projekt main.mdb und daraus das Blatt "main").
Die vierte Zeile definiert den Spaltennamen aus dem Blatt main oder Detailinformation, die auszugeben ist.
In der fünften Zeile stehen Formatangaben (z.B. gibt den Preis der in Cent gespeichert ist, als Euro-Betrag aus)
In der sechsten Zeile muss Platz freigehalten werden, der nur in der Profi-Version als Übergabebereich von Daten aus dem Tool genutzt wird
In der siebten Zeile kann in der Profi-Version eine Formel hinterlegt werden, die die Übergabedaten aus der Zeile darüber beliebig mit Excel Funktionen aufbereitet. Das Ergebnis der Formel wird in den Preisfeed ausgegeben.

Alle Spalten werden verknüpft und als ein Datensatz (ein Produkt) in eine einzige Ausgabezeile der Preisfeed-Datei geschrieben. Im Bild unten sieht man zwei Arten: Elago als CSV-Datei und Google als Text-Datei.

Formeln-Pricefeeds

Hier sind die Details zu den einzelnen Preisfeeds hinterlegt.

Konfiguration eines Feeds

Die Anzahl der zu nutzenden Spalten wird durch die zweite Zeile unter der (orangen) Titelzeile definiert. Solange in diese Zeile (im Bild Zeile 4 und 14) die einzelnen Spalten nicht leer sind, wird eine Feedinformation ausgegeben. Die erste leere Zelle beendet die Definition einer Feedzeile.

„!“ ein Ausrufezeichen heißt: Nimm sowohl für die Überschriftzeile des Feeds (aus der ersten Zeile unterhalb der orangen Titelzeile der Feeddefinition) als auch für die folgenden Produktzeilen des Feeds den Inhalt der Folgezeile unter der Titelzeile. Ist die Zelle leer, wird eben ein leerer String (Zeichenkette) verwendet. D.h. die 2. Zeile nach der Überschriftzeile (Zeile 4, 14, 24 im Tool) definiert die Breite des Ausgabeformats und „!“ ist quasi das Kopierzeichen für den Zelleninhalt darüber. Nur aus optischen Gründen habe ich immer ca. 10 Zeilen pro Feed reserviert. Relevant ist nicht der Abstand von 10 Zeilen, sondern wo in SPalte A ein vorhandener Feedname (aus Blatt e-pricefeeds) definiert wurde. Und ab dort wird relativ gezählt.

Für den Header wird über die 2. Zeile nach der Definitionszeile gelaufen und immer wenn die aktuelle Zelle einen x-beliebigen Wert (Ausrufezeichen oder etwas anderes) enthält, wird der Wert aus der 1. Zeile aneinandergehängt und als Header ausgegeben. D.h. die erste leere Zelle in Zeile 2 definiert das Ende der Ausgabebreite für Header und später die Preiszeilen. Im Fall von Google ist es in der gedruckten Version optisch unsichtbar, dass in der Spalte C eine Formel =Zeichen(9) enthalten ist. Diese Formel gibt einen Tabulator aus und sorgt damit für eine ähnliche Datenstruktur zu CSV entsteht, aber eben nicht Komma-getrennte, sondern Tabulator-getrennte Werte.

Steht in der Zeile 2 kein „!“ dann wird für die Preiszeilen das Blatt erwartet, das zu nutzen ist. In der Regel ist das immer das Blatt „main“. D.h. man ist in der aktuelle Daten-Zeile des Projektes (main.mdb) und holt sich aus diesem Blatt weitere Informationen heraus. Blätter oder anderer Werte mit einem beginnenden „!“ werden ignoriert. Nur das einzelne Ausrufezeichen hat die oben beschriebene Kopierfunktion.

Sonderwertermittlungen

In der 3. Zeile jeder Definition findet sich zum einen definierten Blatt dann die notwendige Spaltenüberschrift. Die Spaltennummer wird sich vom Tool selbständig gesucht, so dass auch andere Versionen des Datenaufbaus kein Problem sind. In Zeile 3 gibt es verschiedene Sonderfunktionen. Die Zeile 2 kann dabei mit !! (s.u.) oder mit ! oder mit !x (s.o.) befüllt sein. Die Wirkung der Zeile 2 ist unabhängig von der Sonderwertermittlung:

Findet das Tool einen dier folgenden Werte (beginnend mit „!“ Ausrufezeichen, und in 2. Zeile steht ein "!main") wird eine Sonderermittlung aktiviert, die nicht aus der aktuellen Zeile des Produktes Daten holt, sondern auf andere Daten verzweigt.


BESCHREIBUNG

Bei !Langtext wird der zum Produkt gehörende nächste Absatz auf der Produktseite gesucht. Der erste normale Textabsatz wird nun rückgewandelt in normalen Text (kein HTML, also mit Umlauten). Es werden aber einige Funktionen von web2date doppelt HTML codiert. D.h. Nach Umwandlung zur Text, sind diese erst HTML geworden und diese bleiben noch immer erhalten: z.B. die Zeilenumbrüche.

Bei !LangtextF wird der zweite zum Produkt gehörende Folgeabsatz auf der Produktseite gesucht. Der zweite Absatz mit Inhalt wird nun rückgewandelt in normalen Text (kein HTML, also mit Umlauten).

Bei !LangtextC sammelt Produkt gehörende Folgeabsätze auf der Produktseite. Die Anzahl der maximalen Absätze wird im Blatt e-pricefeed Zelle M43 definiert. Die gesammelten Absätze mit Inhalt werden nicht rückgewandelt in normalen Text (also HTML, keine Umlauten).

!LangHtmlText sucht die erweiterte Artikelbeschreibung und gibt diese in HTML-Form (inkl. HTML-Formatierungskennzeichen) aus.


STRUKTUR

Bei !url wird die aktuelle main.mdb Zeile im Blatt Sitemap gesucht und der zusammengebaute Pfad dort ausgelesen. Deswegen ist die Generierung der Sitemap und das Aufbaus der Pfade notwendig, bevor ein Pricefeed ausgegeben werden kann.

Bei !picture wird das einem Produkt zugeordnete Produktbild gelesen und mit einem Pfad auf http://www.domain.de/images/orginalname.xxx ausgegeben. Die Domain wird wieder vom Blatt Easy Use genommen. Das funktioniert einwandfrei, solange das Orginal-Bild mit auf dem Server ist. Das ist immer dann der Fall, wenn ein Bild durch anklicken in Orginalgröße angezeigt werden kann. Ist ein Bild nur ein Absatzbild ohne Vergrößerung, wird u.U. das Orginal-Bild nicht ins Verzeichnis /images/ hochgeladen und der Pfad zeigt ins Leere. Eine Prüfung gegen vorhandene Bilder erfolgt nicht. Alternativ kann man in die Ausgabe von Bilden mit CCML noch einen „unsichtbaren“ Link setzen, der auf das Orginal-Bild zeigt, so dass (aus Sicht web2date) immer das Orginal-Bild mit hochgeladen werden muss. Dafür habe ich aber noch keinen CCML-Code entwickelt.

Bei !Hauptseite wird der Titel der übergeordneten Hauptseite gelesen und in das aktuelle Produkt zugeordnet. Nutzt man die Hauptseiten zur sinnvollen Strukturierung der Produkte, dann kann man hier gute Hauptkategorien zuführen.

Bei !Überseite ist der Titel der übergeordneten Hauptseite zur Hauptseite. Damit lassen sich zweistufe Produktgruppierungen generieren und dem aktuellen Produkt zuordnen. Daruf legt z.B. shopping.at sehr viel Wert. Nutzt man die Hauptseiten zur sinnvollen Strukturierung der Produkte, dann kann man hier gute Hauptkategorien zuführen.

Bei !Hauptseite1 bis !Hauptseite3 sind die 3 Hauptseitenebenen die es gibt in einem Shop. Auf der allersten Ebene ist die Startseite und die 5. Ebene sind die Produkte. Shopping.at bietet hier eine Baumstruktur an, so dass hier der gesamte shop2date-Baum aufgebaut wird.


PREISE

Bei !preis-von wird der Sonderpreis mit Beginn Datum „von“ ausgegeben. Wird eine günstigere Variante gefunden als der Sonderpreis wird das Datum gelöscht und nicht ausgegeben.

Bei !preis-bis wird der Sonderpreis mit Ende Datum „bis“ ausgegeben. Wird eine günstigere Variante gefunden als der Sonderpreis wird das Datum gelöscht und nicht ausgegeben.

Bei !preis-ab wird „ja“ wenn es verschiedene Preise gibt.

Bei !preis-alt wird beim Sonderpreis, der „Orginalpreis“ angegeben. Ist ein Variantenpreis billiger, wird der Alt-Preis nicht ausgegeben.

!Productbaseprice gibt den "Grundpreis aus, auch bei Varianten oder bei Sonderpreisen.

Mit !salestext erhält man die Texte für Sonderpreise "Sonderpreis gültig von... bis" oder "Preis ist mengenabhängig".


VARIANTEN

Bei !varianten wird ein spezielle Text aufbereitet, der die Variantenbeschreibung ausgibt. Kommt es zu „unnötigen“ Angaben bei Varianten, also wiegt oder kostet eine Variante genau so viel wie der Standard, dann ist diese Angabe unnötig, sogar im Projekt gefährlich, weil man einen Preis pflegt und ggf. nicht alle Varianten beachtet. Es wird in diesen Fällen eine Warnung ausgegeben, aber die Funktionsweise ist korrekt.

Mit !AnzahlVarianten gibt man die Anzahl der Varianten aus, die ermittelt wurden, d.h. man weiß viele Varianten existieren. Bei fehlenden Varianten gibt es den Wert "1".

Mit !variantennummer wird die Variante durchnumeriert (Wirkung nur für Profi-Version, wenn Varianten einzeln ausgegeben werden)

!VarCombi gibt einen doppelten Index für die aktuelle Variante aus: z.B. 4-2 => 4. Variante der 1. Dimension und 2. Varianten der 2. Dimension. Ähnlich zu variantenmatrix

Mit !variantenmatrix wird die Variante durchnumeriert Form: 4 Stellen für 1. Dimension, 4 Stellen für 2. Dimension z.B. "..10...2" (hier nur zur Darstellung anstelle Leerzeichen mit Punkten) für 10 Ausprägung in erster Variantenliste und 2. Ausprägung der zweiten Variantenliste

!variations liefert einen Text über die Verfügbaren Varianten z.B. "auch in Farbe rot, blau und grün erhältlich

!MinVariante gibt den Text aus, für den der gefundene Preis gilt z.B. "Preis gilt für Härtegrad 3 und Größe 210 x 160 xm"


LIEFERZEIT

!Lieferzeit gibt die Lieferzeit aus, je nach Feed unterschiedlich und je nach Einstellung auf dem Blatt e-pricefeed

!Lieferzeitflag
verdichtet auf "ja" und "nein"

Wertverknüpfungen

Die 4. Zeile nach der Hauptzeile eines Feeds hat die Funktion der Folgeverarbeitung: Es wird definiert, ob dem Ergebnis ein Text vorausgestellt oder nachgestellt wird, und / oder eine Bearbeitungsfunktion durchzuführen ist.

Alle anderen reinen Texte werden als „Textanfang“ des ermittelten Wertes genutzt, wenn nichts weiter angegeben wurde. Die vollständige Syntax ist:

VorangestellterText(Bearbeitungsfunktion)anzuhängenderText

Dazu kann man z.B. die Excel-Funktionen nutzen und sich die definierte Domain aus dem Blatt „Easy Use“ nachladen für Pfade zu den Bildverzeichnis. In der Konfiguration von Kelkoo sieht man, dass man hier mit diesem Vortext und „fehlender Wertermittlung“ in den letzten beiden Spalten „feste Werte“ definiert hat. So wird die Verfügbarkeit auf „999“ gesetzt und die Versandkosten auf 5,60 €.

Es gilt dabei die Regel. Eine definierte Vor- und Nachtext wird nur dann verwendet, wenn die Wertermittlung aufgrund von Spaltenangaben oder „Sonderfunktionen“ einen Wert ergeben haben. Ist der Wert einer Ermittlung leer, dann wird nichts voran- oder nachgestellt. Ist in der Zeile mit den Spaltendefinition keine Angabe vorhanden, dann gilt der Text als „fixe“ Vorgabe für die Ausgabe und wird immer ausgegeben.

Bearbeitungsfunktionen

Die derzeitige Bearbeitungsfunktion wird mit „/100“ für Preis oder „/1000“ für Gewicht definiert. Der Preis wird dabei „durch 100“ geteilt. Die Funktion Teilen durch 1000 wirkt analog, es wird aber kein Gewichtsmaß ergänzt. Das muss durch die Headerdefinition erfolgen. Die Anzahl der Nachkommastellen wird je nach Teiler auf 2 oder 3 voreingestellt.

Nachkommastellen: Folgt eine Formatierung mit z.B. (/100,0) dann wird der Wert zwar durch 100 geteilt, aber die Nachkommastellen dennoch auf 0, also ganze Zahlen gerundet. Es werden zwischen 0 und 5 Nachkommastellen unterstützt.

Eine spezielle Teilung ist „%100“. Hier wird der Rest bei der Teilung durch 100 genommen. Beim Preis ist das genau der Cent Betrag. Damit kann man den Eurobetrag und den Cent-Betrag einzeln ausgeben und ein beliebiger Trennzeichen explizit setzen, also z.B. einen Punkt für englisch orientierte Zahlenformate.

Ebenso gibt es eine Funktion „len“ gefolgt von einer Zahl, die die maximale Länge des Textes definiert. Der Text wird in der definierten Länge abgeschnitten.

Die Vorgabe „bool“ sorgt für einen Wert „ja“ oder „ “ (zwei Leerzeichen). Diese Variable wird von Shopping.at benötigt. Damit werden die mittels TEASER=ja herausgehobenen Produkte in die Galerie des Shops aufgenommen.

Eine Funktion „Format“ nimmt den restlichen Text und nutzt diesen als Formatvorgabe für den Wert. Dies wird z.B. bei Terminen genutzt.

Eine Funktion „notlast“ prüft, ob das letzte Objekt bereits einen identische Wert hatte und löscht diesen vor Ausgabe. So können z.B. Überschriften / Kategorien nur dann ausgegeben, wenn diese sich ändern.

Eine Funktion „nohtml“ wandelt in einen Text die HTML-Sonderzeichen zurück in eine Klartextdarstellung um. Macht ggf. Sinn bei !Langtext, das ja einen HTML-Absatz einliest.

Eine Funktion „nocode“ wandelt einen HTML-Text HTML-Codeanweisungen mit <...> in eine Klartextdarstellung um. Dies wird i.d.R. durch weglassen der Codes erreicht. Manchmal erfolgt gleichzeitig ein Einfügen von Leerzeichen.

Für den PDF-Katalog gibt es weitere spezielle Bearbeitungsfunktionen:

Funktion (img###). Hiermit wird ein Bild für die Ausgabe in HTML und Verwendung des HTML in Word optimiert. Word ignoriert die normalen max-width und max-height Angaben in HTML. Daher wird aus dem Formatierungsbefehl die Zielgröße ermittelt. (img100) generiert ein Bild mit 2,54 Höhe oder Breite, je nachdem was im Blatt e-pricefeeds als „führend“ angegeben wurde. Standard ist 200. Zusätzlich gibt es eine Größenbeschränkung der Fläche: In e-pricefeeds kann das Bild auf eine maximale Höhe und Breite beschränkt werden. Sinnvollerweise stimmen die beiden / drei Werte überein. Ist das Bild nach Basis der Größe aus dem IMG Befehl in der anderen Dimension zu groß für die definierte Fläche, dann wird das Bild solange verkleinert, bis die maximale Bildfläche erreicht wird.

Leider kann auch Word nicht sauber mit width-Angaben in Tabellenspalten umgehen. Daher müssen die Bilder nach deren Ausgabe mit einem margin-right versehen werden, damit der rechts stehende Text wieder vertikal über alle Bilder gleichmäßig ausgerichtet ist. Dazu dient der (tab200) Befehl. Das tab bedeutet, dass nicht die Breite des Bildes, sondern die Differenz zu dem folgenden Wert 200, als Wert auszugeben ist. Auch diese Angabe 200 sollte mit den anderen drei Angaben 200 übereinstimmen. Um einen zusätzlichen horizontalen Abstand zu schaffen zwischen Bild und Text, kann der Text rechts einen fixen margin-left bekommen.

Da eine URL eine lange Zeichenkette ist, die nicht umgebrochen werden kann, führt dies i.d.R. zu Problemen im Tabellenaufbau. Mit der Funktion (url) wird jedes „/“ zur Trennen eines Unterverzeichnisses zu „/_“ also Schrägstrich und Leerzeichen. Damit kann ein Zeilenumbruch erfolgen. Will man den Link für digitale Weitergabe anclickbar machen, muss man einmal (in den Bearbeitungszellen) =VERKETTEN("<p>Link: <a href=";'Easy Use'!I21;"()““>“) konfigurieren, zur Ausgabe der echten Linkadresse und inkl. Domainnamen in der nächsten Spalte =VERKETTEN(" (url)</a></p>") angeben, um den Link als Text mit Leerzeichen für den Umbruch auszugeben. Note gibt man den gesamten Link nicht als Text aus, ist dieser bei gedruckten Formen (Ausdruck aus dem Netz oder Verteilung als gedrucktes Objekt) nicht mehr vorhanden. Hat man die Suche mit der Produktnummer kann man ggf. auf eine „kompletten“ Pfadangabe sogar gut verzichten.

Syntax-Reinheit

Die nächste Zeile (nur der Optik wegen mit „X“ markiert) kann vom User ignoriert werden. Sie ist nötig, weil das Tool zu den Spaltenüberschriften sich die technischen Spaltennummern speichern will und das hier durchführt, d.h. diese Zeile ist für das Tool selbst reserviert und hat nur technische Funktion.

In den nächsten Zeilen folgen Konvertierungsdaten für den „Wert“. Die Ergänzungstexte werden dabei nicht modifiziert. So beginnt die Zeile mit einem „R“ in der ersten Spalte und es folgt der zu ersetzende Wert und in Spalte 3 der zu verwendende Text. Wird z.B. ein Feed mit Tabulator-Zeichen getrennt, so darf ein Wert, z.B. eine Beschreibung, selber keine Tabulatoren verwenden, da dies die Syntax stören würde. D.h. Ein Tab-Zeichen muss dann z.B. zu einem Leerzeichen. Analog ggf. bei Anführungszeichen oder Zeilenenden. Die Liste der zu ersetzenden Zeichen endet, wenn in Spalte 1 kein „R“ mehr steht.

Die Ersetzung wird nur dann angewendet, wenn die Spalten-Zeile nicht leer ist. So kann man mit Sonderfunktionen auch spezielle Trennzeichen einfügen. Soll unbedingt eine Bereinigung erfolgen, darf die Zeile mit der Spaltenangabe nicht leer sein, sondern einen vorhandenen Spaltennamen nutzen. Ist die Blattangabe aber "!!" wird keine Ermittlung des Wertes aus Blatt und Spalte durchgeführt.

Spezialcodes

Enthält eine FeedZeile den Code #No Feed# wird dieses Produkt nicht ausgegeben.

Enthält eine FeedZeile den Code #ERROR# wird eine Fehlermeldung ausgegeben (für Testzwecke)

Enthält eine FeedZeile den Code #SIOT# wird eine Meldung angezeigt, den VBA Code kann man an dieser Stelle debuggen.

Footer für XML Dateien

Folgt in der ersten Zeile eine Headerzeile noch ein Wert, obwohl die Zeile 2 bereits eine leer Zelle enthält, also ist die Headerzeile um einen Eintrag breiter, dann wird der Inhalt dieser letzten Zelle einmal am Ende der Datei ausgegeben. Damit kann ein „Footer“ oder abschließender XML-Inhalt zur Beendigung eines Feed definiert werden.

Unterschiedliche Trenncodes zwischen Titel

Will man zwischen Titelzeile und Produktzeilen unterschiedliche Trennzeichen verwenden, dann muss man in der Titel-Zeile das Trennzeichen der Titelzeile eingeben, aber in Zeile 2 eben kein „!“ das Nutzung auch in den Produktzeilen bedeutet. Hier kann man einfach ein „!!“ eingeben werden. Dann wird der Wert der Zeile 1 nicht kopiert. Da dieser Wert aber doch mit einem „!“ beginnt, gibt es auch keine Ermittlung einer Spalte und keine spätere Wertermittlung aus dieser Spalte. Da der Wert aber auch keiner der Sonderwerte mit Sonderfunktionen ist (!url, !picture….), gibt es auch keine Sonder-Wertermittlung. Nun kann man mit der Zeile 4 zur Definition von „Vortexten“ einen beliebigen abweichenden Trenncode definieren, der nur in den Produktzeilen zur Anwendung kommt.

Summary

In diese Logik lassen sich völlig frei weitere Feeds definieren und Formatkombinationen erstellen. Die einzige Restriktion ist, dass es Textdateien sind, und keine Excel oder komplexere XML-Funktionen zur Anwendung kommen.

zur nächsten Seite
zur letzten Seite zurück
Startseite
zur vorherigen Seite
zur nächsten Seite
zur vorherigen Seite
zur letzten Seite zurück
Startseite
zum Seitenanfang
zum Textanfang
zum Seitenende
druckbare Seiten
Seite mailen
Add Site to Mr. Wong
Bei LinkARENA bookmarken