[gelöst] lange Artikelbeschreibung für OSCommerce-Shop

17. Dezember 2006 22:52

Wir haben eine Anbindung an einen OSCommerce Webshop gebaut und übertragen die Artikel aus Navision mit einem XML-File.
Das File als solches wird sauber eingelesen in den Webshop, inclusive eines Tags für die lange Artikelbeschreibung als Fließtext, der z.Zt max 4000 Zeichen umfasst.
Dieser ist bisher manuell in das XML-File einkopiert worden.
Nun möchte ich in Navision gerne die Möglichkeit geben, diesen Text zu bearbeiten, Ich habe da an Waldo's Navpad und ähnliche Tools gedacht,
jedoch speichern die alle in einzelne Textfelder von maximal 250 Zeichen und nicht in ein Blobfeld vom Typ Memo.

Ich habe schon herumexperimentiert, aber es gelingt mir nicht, den bearbeiteten Text in das Blob zu speichern.
hat da jemand eine Lösung für?
Die unbefriedigende Alternative wäre die Texte mit einem externen Editor zu bearbeiten und dann mit der Importfunktion in ein Blob zu bringen und von dort aus dann mit dem XML-Port in das File zu schreiben oder noch umständlicher nur einen Link zum Text in Navision zu speichern und das Übertragungsprogramm umzuschreiben, dass es diesen Link aus dem XML-File auswertet und den Inhalt dieser Datei in das Memofeld auf dem MySQL-Server zu schreiben.
Zuletzt geändert von Michael Schumacher am 18. Dezember 2006 18:58, insgesamt 1-mal geändert.

18. Dezember 2006 11:38

Ich habs leider gerade ein wenig eilig.

Aber wir lösen das so, dass wir tatsächlich einen externen Editor benutzen und per Blob.IMPORT diesen importieren.

Möglich wäre sicherlich auch, das Waldo-Pad zu benutzen und über den Umweg eines BigText Feldes (ADDTEXT) und dann per Stream die Daten in das Blob-Feld zu speichern.

Meld dich einfach kurz, wenn noch Fragen auftauchen. Ich könnte das dann heute Abend eben noch per Code dokumentieren.

18. Dezember 2006 18:58

SilverX hat geschrieben:Möglich wäre sicherlich auch, das Waldo-Pad zu benutzen und über den Umweg eines BigText Feldes (ADDTEXT) und dann per Stream die Daten in das Blob-Feld zu speichern.


Genau so hab ich das auch gemacht, ich lese die Felder aus, als ob ich sie in das NavPad schieben wollte und füge sie aber dann mit addtext der Bigtextvariablen im XML-Port an. das klappt.
Leider schluckt XML den Zeilenvorschub, da muss ich mir noch was einfallen lassen....

18. Dezember 2006 22:31

Wir benutzen die komplette Commerce Portal Funktionalität in Navision. Dort gibt es die sogenannten Page Properties. Das ist im grunde nichts anderes als Zeilenweiser Content. Sehr schwer zu pflegen.

Den Bereich haben wir erweitert um dort auch BLOBs, also halt große Textbereiche pflegen zu können, so ähnlich wie in deinem Fall. Da dort auch HTML und anderer nicht direkt XML-Konformer Inhalt vorkommt, nutzen wir hier eine CDATA Section mit HTML Formatierungen.

Das ist natürlich nichts für XMLports. Wüsste zumindest nicht, wie das zu realisieren wäre. Evtl. kannst du das XML vom Port bauen lassen, den Stream nachträglich in eine DOM Automation laden und die Contentdaten quasi "manuell" in eine CDATA Section schieben. Da kannst du dich dann austoben mit HTML ;-)

NACHTRAG: Hab grade nochmal geschaut. Vergiss CDATA :) Ich lass den Text oben mal stehen, vllt. inspiriert das den ein oder anderen. Fakt ist, dass der XMLport HTML-Tags automatisch umwandelt. Aus einem Zeilenvorschub per <BR /> wird also &lt;BR /&gt;
Du kannst also wirklich die Zeilenvorschübe als <BR /> in die BigText Variable schaufeln und das wird von der Gegenseite wieder sauber zurückgewandelt.

21. Dezember 2006 04:53

Der <BR> fiel mir in der Zwischenzeit dann auch ein.
Es funktionieren auch etliche andere Tags darin ;-)

Wir hätten ja auch gerne das Commerce Portal genutzt, aber leider ist der CP Server nicht mehr auf der Nav-CD drauf.... und der Support wurde auch eingestellt.

so nutzen wir halt OSCommerce, und siehe da, es geht ;-)
Navision erstellt XML-Files, die von einem speziell für diesen Zweck geschriebenen C#.net Programm OSDE (Online Shop Data Exchange) über das Internet in den MySQL-Server geschoben werden. Der Webshop erzeugt direkt mit php die XML-files, die von dem OSDE per FTP-protokoll runtergeladen und mit dem NAS eingelesen werden.