Attribute aus Oxid per marmcsvexporter in eine CSV

Hallo,

ich versuche mittels https://github.com/marmaladeDE/csvexporter auch Attribute in eine CSV zu bekommen. Der Rest klappt soweit. Upload auf einen SFTP muss ich noch testen, aber am Export der Attribute scheitere ich gerade. Kann jemand helfen?! Vielleicht mit einer Vorlage.

Danke

Steht das nicht in der Beschreibung? Ich denke, Du must nen Marker setzen
case ‘#irgendwas#’: , das Feld im Header als Spaltenname eintragen und über getAttribute(‘Titel_des_Attributes_Irgendwas’) den Wert (value) abrufen.

Hi rubbercut,

danke für die schnelle Reaktion.
Dachte auch so wie du. Vielleicht ist meine Umsetzung fehlerhaft.

Auszug:
protected $_entry = array(
‘header’ => ‘“Land”’,
‘fields’ => ‘#gpland#’,
‘separator’ => ‘|’
);

        case '#gpland#':
            return $this->getAttribute('Herkunftsland'); // Name in der DB

D.h. das Feld ist leer? Lass Dir einfach mit echo $query ; die Abfrage ausgeben und gib sie in phpMyAdmin o.ä. ein.

Ja, das Feld ist leer.
Wohin kommt echo $query ; ?

Unterhalb von $query = "SELECT oa.OXVALUE FROM oxobject2attribute oa, oxattribute at WHERE oa.OXATTRID = at.OXID AND oa.OXOBJECTID = '".$this->tempProduct['OXID']."' AND at.OXTITLE = '".$attrTitle."' LIMIT 1";
Also in eine Zeile ab 528

Hab die Abfrage manuell mit Daten gefüllt und über phpMyAdmin abgerufen.

        $query  = "SELECT oa.OXVALUE
                   FROM oxobject2attribute oa, oxattribute at
                   WHERE oa.OXATTRID = at.OXID AND
                   oa.OXOBJECTID = '".$this->tempProduct['OXID']."' AND
                   at.OXTITLE = '".$attrTitle."' LIMIT 1";

echo $query;

Drunter eingebaut. Bin mir nicht sicher wo die gefüllte Abfrage ausgegeben werden soll.

Mit einer 4-stelligen Oxid? (OXOBJECTID = OXID aus OXARTICLES)

Wenn Du das Script aufrufst, sollte der Query ausgegeben werden. Ansonsten ist vielleicht if (isset($this->_config['attributes'][$attr])) { nicht “gesetzt”…

Mein Fehler :wink: Bin schon recht müde.
Okay, mit der richtigen ID geht die Abfrage - sorry!

Ja, ist in der Tat nicht gesetzt.

Was muss da rein?
‘attributes’ =>

Ich kenne das Modul nicht. Die Suche ergibt, dass in protected $_config = array( ) aus Deiner Exporter-Datei der Wert rein muss

Also etwas wie 'deinwert' => true,

‘Herkunftsland’ => true,
‘attributes’ => true,
‘gpland’ => true,

Leider kein Erfolg.

Ich würde es so probieren: 'attributes' => array( 'Herkunftsland' => 1 )

Kannst noch mehr eintragen

1 Like

TOP! Tausend Dank rubbercut!

Hier die Lösung:

Exporter.php

für protected $_config = array(

‘attributes’ => array( ‘Herkunftsland’ => ‘Herkunftsland’ ),

);

für

protected $_entry = array(
‘header’ => ‘“Land”’,
‘fields’ => ‘#gpland#’,
‘separator’ => ‘|’
);

für die marmCsvExporter.php

public function getDataByMarker($marker)
{
switch($marker)
{

case ‘#gpland#’:
return $this->getAttribute(‘Herkunftsland’);

}

1 Like

Jo, als erledigt markieren und gut is :wink:

3 Likes

unter Oxid 6.1.3 / PHP 7.1 läuft der marmcsvexporter wohl nicht?

bei mir kommt jedenfalls nur die Meldung " Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php:33 Stack trace: #0 /xxx/source/modules/marm/csvexporter/exporter/google/marmGoogleExporter.php(114): marmCsvExporter->__construct() #1 {main} thrown in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 33"

In PHP 7 gibts kein mysql_connect mehr. Evt. bekommst du es zum laufen wenn du alle mysql_ Funktionen mit Suchen&Ersetzen in mysqli_ umbenennst.

hab ich gemacht - nun kommen folgende Meldungen:

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 38

Export gestartet!

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 801

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 463

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 723

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 743

Warning : mysqli_query() expects at least 2 parameters, 1 given in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 617

Warning : Invalid argument supplied for foreach() in /xxx/source/modules/marm/csvexporter/core/marmCsvExporter.php on line 92

Export beendet!