Ext-Entwicklung: Katalog - OpenImmo
Hallo,
ich entwickle gerade eine Extension die OpenImmo-Daten in einen Katalog importiert. Somit soll man die Katalog-Extension nutzen können, um Immobilien auszugeben. Also eine relativ low-level bezogene Sache.
Nun bin ich an mein erstes, für mich, nicht lösbares Problem gestoßen.
Ich habe mit der development Extension meine Extension erstellt, welche unter anderem ein Table-DCA hat. Dieses Table-DCA funktioniert einwandtfrei, hat aber einen zusätzlichen Button, der wiederum nicht in eine Kindtabelle führt, sondern eine eigene Funktion aufruft. Bei Aufruf der Button-Funktion würde ich am liebsten eine Folder-DCA ausgeben lassen, da dabei eine OpenImmo-Datei gewählt werden soll, die anschließend geparst wird und deren Inhalte dann in eine Katalog-Tabelle übergehen sollen.
Hier mal der Quelltext des Buttons im DCA:
PHP-Code:
'operations' => array
(
'syncCatalog' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_catalog_openimmo']['sync'],
'href' => 'key=syncCatalog',
'icon' => 'reload.gif'
),
)
und hier die passende config.php dazu:
PHP-Code:
$GLOBALS['BE_MOD']['content']['catalog_openimmo'] = array(
'tables' => array('tl_catalog_openimmo','tl_catalog_openimmo_fields'),
'syncCatalog' => array('CatalogOpenImmo','sync'),
'icon' => 'system/modules/catalog_openimmo/html/icon.gif'
);
Ist das was ich will möglich? Oder muss ich hier meine eigene Formular-Ausgabe generieren?
Für Hilfe und Anregungen bin ich sehr dankbar.
Fehler beim Einlesen der XML
Hey,
Ich versuch auch gerade deine Extension nach der oben beschriebenen Anleitung zum Laufen zu bringen. Allerdings schmeißt er bei mir beim Einlesen der Daten sofort einen Fehler:
PHP-Code:
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 48: parser error : Premature end of data in tag openimmo line 1 in /.../system/modules/catalog_openimmo/CatalogOpenImmo.php on line 794
#0 [internal function]: __error(2, 'simplexml_load_...', '/...', 794, Array)
#1 /.../system/modules/catalog_openimmo/CatalogOpenImmo.php(794): simplexml_load_string('??loadData('tl_files/openIm...')
#3 /.../system/modules/backend/Backend.php(193): CatalogOpenImmo->sync(Object(DC_Table), 'tl_catalog_open...', Array)
#4 /.../contao/main.php(101): Backend->getBackendModule('catalog_openimm...')
#5 /.../contao/main.php(304): Main->run()
#6 {main}
Als Quelle nehme ich eine XML die von Flowfact erzeugt wird. Kann mir jemand einen Lösungsansatz geben?
openImmo überschreibt bei Synchonisieren die ersten Einträge
So, dann muss ich doch noch mal zu der Extension eine Unklarheit beseitigen:
Das Problem:
Sobald ich Daten synchronisiere, werden andere Einträge überschrieben.
Beschreibung:
1. Ich importiere beim ersten Mal eine XML mit 2 Immobilien-Einträgen. Alles wunderbar. Sie werden angezeigt und alles stimmt.
2. Beim Zweiten mal importiere ich eine XML mit 4 Immobilien-Einträgen. Jetzt werden die ersten beiden überschrieben und nur die neuen 4 Immobilien angezeigt.
3. Jetzt importiere ich eine XML mit nur einer Immobilie. Beim Synchronisieren wird jetzt die erste der 4 Immobilien vom Schritt davor überschrieben.
Eigentlich möchte ich ja aber die Immobilien immer dran hängen. Das heißt in Summe müsste ich ja jetzt schon bei 7 Einträgen sein. Hab ich etwas falsch verstanden an der Extension oder wo liegt mein Problem.
Wenn ich mir die XML-Dateien anschaue, sind auch immer nur die neuen Einträge drin. Deshalb gleich die nächste Frage: Wie bekomme ich aus OpenImmo die Information, dass ein Eintrag tatsächlich raus kann und nicht mehr benötigt wird?
Ich bin gespannt auf das Feedback. Danke :)
Formatierung der OI Felder
Hey,
das wäre absolut klasse. Bleibt nur die übliche Frage, wann du dafür Zeit finden könntest und welches Honorar die Sache eventuell beschleunigen könnte :)
Gruß
Tom