Hallo,
ich versuche immer noch, weitere Zahlungsarten in den Connector zu bekommen. Servicepartner und professionelle symfony Programmierer haben schon das Handtuch geworfen, und ein Angebot von JTL steht noch aus. Inzwischen habe ich selbst nochmal probiert, das System zu verstehen.
Habe mich dazu auf folgende Ressourcen gestützt:
Beispiel-Plugin für Shopware:
Example — JTL-Connector documentation
Event-Dokumentation von JTL:
jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent | JTL-Connector documentation
Quellcode des Connectors, wo das Payment Mapping stattfindet:
https://gitlab.jtl-software.de/jtl-...Connector/Gambio/Mapper/CustomerOrder.php#L49
So bin ich vorgegangen:
- Beispiel-Connector von Shopware zur Vorlage genommen und die Erläuterungen dazu nachvollzogen
- Beispiel-Connector in Bezug auf Shopsystem und Event versucht anzupassen
- Plugin-Ordner "paymentpull" in "Plugins" angelegt und "paymentpull.php" darin abgelegt
- Unterordner "listener" in "paymentpull" angelegt und darin CustomerOrderListener.php abgelegt
Vermutlich oute ich mich hiermit als völligen Unwissenden, aber egal. Irgendwie muss es ja weitergehen, und es kann ja nicht sein, dass es niemanden auf der Welt gibt, der so ein doofes Plugin machen kann? Bisher jedenfalls wird mein Plugin vom Connector völlig ignoriert: Keine Fehlermeldung, keine Funktion. Irgendetwas Essentielles scheint noch zu fehlen. Jemand einen Tipp für mich?
Meine Dateien:
CustomerOrderListener.php
paymentpull.php :
ich versuche immer noch, weitere Zahlungsarten in den Connector zu bekommen. Servicepartner und professionelle symfony Programmierer haben schon das Handtuch geworfen, und ein Angebot von JTL steht noch aus. Inzwischen habe ich selbst nochmal probiert, das System zu verstehen.
Habe mich dazu auf folgende Ressourcen gestützt:
Beispiel-Plugin für Shopware:
Example — JTL-Connector documentation
Event-Dokumentation von JTL:
jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent | JTL-Connector documentation
Quellcode des Connectors, wo das Payment Mapping stattfindet:
https://gitlab.jtl-software.de/jtl-...Connector/Gambio/Mapper/CustomerOrder.php#L49
So bin ich vorgegangen:
- Beispiel-Connector von Shopware zur Vorlage genommen und die Erläuterungen dazu nachvollzogen
- Beispiel-Connector in Bezug auf Shopsystem und Event versucht anzupassen
- Plugin-Ordner "paymentpull" in "Plugins" angelegt und "paymentpull.php" darin abgelegt
- Unterordner "listener" in "paymentpull" angelegt und darin CustomerOrderListener.php abgelegt
Vermutlich oute ich mich hiermit als völligen Unwissenden, aber egal. Irgendwie muss es ja weitergehen, und es kann ja nicht sein, dass es niemanden auf der Welt gibt, der so ein doofes Plugin machen kann? Bisher jedenfalls wird mein Plugin vom Connector völlig ignoriert: Keine Fehlermeldung, keine Funktion. Irgendetwas Essentielles scheint noch zu fehlen. Jemand einen Tipp für mich?
Meine Dateien:
CustomerOrderListener.php
PHP:
<?PHP
namespace paymentpull\listener; // die Forumsoftware entfernt den Backslash - der ist aber da.
use \jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent;
/* use \jtl\Connector\Shopware\Utilities\IdConcatenator; */ // Hier weiß ich nicht was das Pendant zu Gambio ist. Liegt es hieran??
use \jtl\Connector\Core\Logger\Logger;
use \jtl\Connector\Formatter\ExceptionFormatter;
use \jtl\Connector\Core\Utilities\Language as LanguageUtil;
class CustomerOrderListener
{
public function onCustomerOrderAfterPullAction(CustomerOrderAfterPullEvent $event)
{
if (strlen($event->getCustomerOrder()->getCustomerOrderId()->getEndpoint()) == 0) {
return;
}
try {
// Hier den private $paymentMapping Array ergänzen
} catch (\Exception $e) {
Logger::write(ExceptionFormatter::format($e), Logger::WARNING, 'plugin');
}
}
}
?>
paymentpull.php :
PHP:
<?PHP
namespace paymentpull;
use \jtl\Connector\Plugin\IPlugin;
use \Symfony\Component\EventDispatcher\EventDispatcher;
use \paymentpull\listener\CustomerOrderListener;
use \jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent;
class paymentpull implements IPlugin
{
public function registerListener(EventDispatcher $dispatcher)
{
$dispatcher->addListener(CustomerOrderAfterPullEvent::EVENT_NAME, [
new CustomerOrderListener(),
'onCustomerOrderAfterPullAction'
]));
}
}
?>