Hallo,
wir haben ein Plugin welches per Hook:after das SQL von einem Productfeed anpasst.
Wird der Productfeed über http gezogen klappt alles bestens.
Der Feed ist ziemlich groß, daher muss er über die CLI gestartet werden.
Über die CLI wird der Hook:after nicht angesteuert?
Warum?
* executes the current product export
*
* @param resource $handleResource used as a file or the stdout to fetch the smarty output
*/
public function executeExport($handleResource)
{
fwrite($handleResource, $this->sSmarty->fetch('string:' . $this->sSettings['header'], $this->sFeedID));
$context = $this->contextService->getShopContext();
$sql = $this->sCreateSql();
$result = $this->db->query($sql);
if ($result === false) {
return;
}
$result = Shopware()->Container()->get('events')->filter(
'Shopware_Modules_Export_ExportResult_Filter',
$result,
@shopware Bug? Werden im Cronjob die Plugins nicht berücksichtigt? Evtl. weil der Cronjob selbst ein Plugin ist?
public static function getSubscribedEvents()
{
return [
'sExport::sCreateSql::after' => 'hookExportSql'
];
}
Besten Dank
Hallo Ottscho,
wie ich sehe, nutzt du die getSubscribedEvents() Methode für das Event. Heißt also entweder bist du im neuen Plugin System oder nutzt einen Subscriber. Falls letzteres, zu welchem Zeitpunkt wird dein Subscriber registriert? Vermutlich ist dieser zu spät für die CLI Commands. Versuche mal den Subscriber zusätzlich zum Zeitpunkt dieses Events zu registrieren: Shopware_Console_Add_Command
Viele Grüße aus Schöppingen
Michael Telgmann
Hallo Michael,
danke für die Info. Hätte ich selbst über die Suche finden müssen. Habe leider nach den falschen Begriffen gesucht.
Grüße
Ottscho