Hallo TYPO3-Community,
ich erstelle aktuell ein eigenes Backend-Modul in TYPO3 12 und möchte dort eine Checkbox speichern, sodass ich ihren Wert im Frontend (Fluid) abrufen kann.
Ich habe das Backend-Modul erfolgreich erstellt mit Hilfe dieses Videos:
https://www.youtube.com/watch?v=hnksXYtFgbY
Allerdings wird im Video (und auch sonst nirgends) erläutert, wie man Eingaben speichert und weiterverarbeitet.
Meine aktuelle Konfiguration:
BackendController.php
<?php
namespace LjBarrierefrei\Controller;
use TYPO3\CMS\Backend\Attribute\AsController;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use Psr\Http\Message\ResponseInterface;
#[AsController]
final class BackendController extends ActionController
{
public function __construct(
protected readonly ModuleTemplateFactory $moduleTemplateFactory,
) {
}
public function indexAction(): ResponseInterface
{
$this->view->assign('someVar', 'someContent');
$moduleTemplate = $this->moduleTemplateFactory->create($this->request);
$moduleTemplate->setContent($this->view->render());
return $this->htmlResponse($moduleTemplate->renderContent());
}
}
Fluid-Template Index.html (Backend-Modul UI)
<div class="m-lg-5 border p-4">
<h1>Barrierefrei Einstellungen</h1>
<p>Hier können Sie die Moduleinstellungen konfigurieren.</p>
<f:form action="save">
<label>
<f:form.checkbox name="enable_barrierefrei" value="1" checked="{enableBarrierefrei}" />
Barrierefreiheit aktivieren
</label>
<f:form.submit value="Speichern" />
</f:form>
</div>
Meine Frage:
Wie kann ich den Wert der Checkbox richtig speichern, sodass:
✅ Die Einstellung auch nach einem Speichern erhalten bleibt
✅ Ich den Wert im Frontend abfragen kann (z. B. mit Fluid {settings.enableBarrierefrei})
Ich bin mir nicht sicher, wo und wie ich die Checkbox am besten speichere:
Soll ich die Einstellung in einer TYPO3-Datenbanktabelle speichern?
Kann ich sie auch über die TYPO3-Konfiguration ($GLOBALS['TYPO3_CONF_VARS']) setzen?
Gibt es einen Best Practice für TYPO3 12 Backend-Module, um solche Einstellungen zu speichern?
Falls jemand eine klare Anleitung oder ein Beispiel hat, wäre ich sehr dankbar!
Edit: Hm, leider funktioniert der gedöns nicht