Hallo,
ich hab mir diesen hübschen InsertTagListener hier zusammengebastelt:
PHP-Code:
<?php
// src/EventListener/BetreiberInsertTagListener.php
namespace App\EventListener;
use Contao\CoreBundle\ServiceAnnotation\Hook;
class BetreiberInsertTagListener
{
public const TAG = 'operator';
public function __invoke(string $tag)
{
$chunks = explode('::', $tag);
if (self::TAG !== $chunks[0]) {
return false;
}
$data = "";
switch ($chunks[1]) {
case "name":
$data = $GLOBALS['TL_CONFIG']['operatorName'];
break;
case "address":
$data = $GLOBALS['TL_CONFIG']['operatorAdress'];
break;
case "phone":
$data = $GLOBALS['TL_CONFIG']['operatorPhone'];
break;
case "phoneHref":
$return =$GLOBALS['TL_CONFIG']['operatorPhone'];
$return = str_replace("(0)", "", $return);
$return = str_replace(" ", "", $return);
$return = str_replace("/", "", $return);
$data = $return;
break;
case "mail":
$data = $GLOBALS['TL_CONFIG']['operatorMail'];
break;
case "website":
$data = $GLOBALS['TL_CONFIG']['operatorWebsite'];
break;
}
return $data;
}
}
... und setze ihn dann z.B. so ein: {{operator::name}}
Nun mein Problem:
Bei einer soeben neu angelegten Contao-Installation (4.13) funktioniert der Listener plötzlich nicht mehr
Ein Test mit:
vendor/bin/contao-console debug:container BetreiberInsertTagListener
... spuckt mir folgendes aus:
Code:
Information for Service "App\EventListener\BetreiberInsertTagListener"
======================================================================
---------------- ----------------------------------------------
Option Value
---------------- ----------------------------------------------
Service ID App\EventListener\BetreiberInsertTagListener
Class App\EventListener\BetreiberInsertTagListener
Tags -
Public no
Synthetic no
Lazy no
Shared yes
Abstract no
Autowired yes
Autoconfigured yes
---------------- ----------------------------------------------
! [NOTE] The "App\EventListener\BetreiberInsertTagListener" service or alias has been removed or inlined when the
! container was compiled.
... warum wurde hier "App\EventListener\BetreiberInsertTagListener" removed?
Ich hab die Erweiterung installiert, kann es sein dass die den InsertTagListener entfernt/überschreibt?
Denn bei anderen 4.13er-Installationen funktioniert das ganze einwandfrei.
Danke im Voraus für eure Hilfe!
Lesezeichen