Ich hänge mich jetzt einfach mal in den Thread, denn ich habe wohl das gleiche Problem.
Mein processFormData Hook mit Annotation läuft auch nur im Debug-Mode. Sonst wird er scheinbar nicht aufgerufen (bekomme dann z.B. keine Log-Messages).
PHP-Code:
<?php
/* Contao-Root/src/cje/ */
namespace App\cje;
use Contao\CoreBundle\Monolog\ContaoContext;
use Psr\Log\LogLevel;
use Contao\CoreBundle\ServiceAnnotation\Hook;
use Contao\FrontendTemplate;
use Contao\Module;
use Contao\Form;
use Contao\Database;
class FormHookListener
{
/**
* @Hook("processFormData")
*/
public function onProcessFormData(
array $submittedData,
array $formData,
?array $files,
array $labels,
Form $form
): void
{
\System::log('ProcessFormData: called (FormId: ' . $form->formID . ')', __METHOD__, TL_FORMS);
if ($form->formID == 'status') {
\System::log('ProcessFormData Passcode ' . $submittedData['passcode'], __METHOD__, TL_FORMS);
$status_response = fonti_check_status($submittedData['passcode']);
\System::log('ProcessFormData Status response: ' . $status_response, __METHOD__, TL_FORMS);
$session = \Session::getInstance();
$session->set('status_response', $status_response);
}
if ($form->formID == 'abrechnung') {
}
}
/**
* @Hook("prepareFormData")
*/
public function onPrepareFormData(
array &$submittedData,
array $labels,
array $fields,
Form $form
)
{
}
}
Was mache ich da falsch? Bin noch recht neu im Umgang mit Contao.
Die Datei habe ich unter FormHookListener.php unter [contao_root]/src/cje abgelegt.