Hooks für Isotope in Contao 4.13
Hallo liebes Forum,
bis jetzt habe ich Hooks für Isotope immer so gebaut, dass ich in system/modules die HookClass.php und den Ordner Config angelegt habe. Im /config war dann config.php und autoloader.php
Wie ich nun verstanden habe, ist diese weise outdated und spätestens mit C5 nicht mehr nutzbar.
Daher wollte ich mir gerade den Weg über src/EventListener/PostCheckoutListener.php ansehen. Habe also das Tutorial von der Dokuseite mit ParseArticlesListener.php genommen, umbenannt und folgenden Inhalt gefüllt:
Code:
<?php
// src/EventListener/PostCheckoutListener.php
namespace App\EventListener;
use Contao\CoreBundle\Framework\Adapter;
use Contao\CoreBundle\Framework\ContaoFramework;
use Isotope\Model\Product\Standard;
use Isotope\Model\ProductCollection\Order;
use Isotope\ServiceAnnotation\IsotopeHook;
/**
* @Hook("postCheckout")
*/
class PostCheckoutListener
{
public function __invoke($objOrder): void
{
\Contao\Database::getInstance()->prepare("INSERT INTO cc_course_member (`nutzer_id`) VALUES (99)")->execute();
}
}
Die Funktion dabei natürlich erstmal nur ein Platzhalter.
Ist diese Variante nicht für externe (in dem Fall Isotope) Hooks nutzbar?
Und dann nur zum Verständnis: mit dem Autoloader damals konnte ich verstehen, wie Contao die Hooks zuordnet - schließlich habe die Hook direkt angesprochen. Beim ParseArticlesListener-Beispiel passiert das nicht. Wir die Zuordnung rein darüber vorgenommen, dass der Klassenname mit ParseArticles beginnt?
VIELEN Dank für einen Fingerzeig - bin gerade etwas ratlos mit der Isotope-Hook.
Moderation: Beitrag verschoben.