Hallo Leute,
ich bin noch relativ neu, was OXID betrifft. Bin mir jetzt auch nicht sicher, ob dieses Thema besser in “Module” oder in “Entwickler” passt, aber ich denke, dass “Entwickler” hier besser ist.
Ich hab ein kleines Modul geschrieben, dass im Grunde nichts anderes macht als die oxOrder zu überschreiben und eine neue Export-Methode einführt. Diese wird per CronJob ausgeführt. Das funktioniert soweit auch ohne Probleme.
Was allerdings nicht mehr funktioniert, ist die Generierung der PDF-Rechnung. Statt PDFs mit Inhalt werden leere (0 byte) PDFs erzeugt. Ich habe schonmal gesucht und hier auch einige Fehlerquellen im Forum ausmachen können. Leider hat davon keine geholfen. Daher hab ich mein Modul mal deaktiviert und siehe da, sofort ging die PDF-Generierung wieder.
Ich denke also, dass es an meinem eigenen Modul liegt, dass die oxOrder überschreibt. Gibt es da Fallstrickt, die man beachten muss? Ich stell euch mal hier die Basis des Codes rein:
metadata.php
<?php
/**
*
*/
/**
* Metadata version
*/
$sMetadataVersion = '1.1';
/**
* Module information
*/
$aModule = array(
'id' => 'rein_order',
'title' => '***',
'description' => '***',
'thumbnail' => 're-in_logo.png',
'version' => '0.1',
'author' => '***',
'email' => '***',
'url' => '***',
'settings' => array(
array('group' => 'main', 'name' => 'reoActivateTestSystem', 'type' => 'bool', 'value' => true),
array('group' => 'main', 'name' => 'reoAuthToken', 'type' => 'str', 'value' => '')
),
'files' => array(
'rein_order_exporter' => 'rein_order/rein_order_exporter.php'
),
'extend' => array(
'oxorder' => 'rein_order/rein_order'
),
'events' => array(
'onActivate' => 'rein_order_exporter::activate',
'onDeactivate' => 'rein_order_exporter::deactivate'
)
);
rein_order.php
<?php
class rein_order extends oxorder {
/**
* EXPORTED_STATE
* @var int
*/
const ORDER_STATE_EXPORTED = 'EXPORTED_TO_REIN';
public function setAsExported() {
$this->_setOrderStatus( rein_order::ORDER_STATE_EXPORTED );
}
public function exportOpenTrans() {
}
}
?>
Danke für jeden Hinweis!
Martin
Funktioniert tadellos. Kannst du mir auch kurz erklären, warum ich von rein_order_parent und nicht von oxorder erben muss? Ich hatte das mit oxorder irgendwo in einem der Tutorials oder im Wiki aufgeschnappt.