<?php declare(strict_types=1); namespace vonRotenberg\CoretoolsBundle\Controller\ContentElement; use Contao\ContentModel; use Contao\CoreBundle\Controller\ContentElement\AbstractContentElementController; use Contao\CoreBundle\DependencyInjection\Attribute\AsContentElement; use Contao\CoreBundle\Twig\FragmentTemplate; use Contao\StringUtil; use Contao\System; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; #[AsContentElement(category: 'texts')] class DisplayTextController extends AbstractContentElementController { protected function getResponse(FragmentTemplate $template, ContentModel $model, Request $request): Response { if (System::getContainer()->get('contao.routing.scope_matcher')->isFrontendRequest($request)) { $GLOBALS['TL_CSS'][] = 'bundles/vonrotenbergcoretools/css/display-text.min.css|static'; } $strText = $model->vr_dt_plainText ?: ''; if (!empty($strText) && !preg_match("/^h[1-3]$/",$model->vr_dt_size)) { $strText = '<div' . (!empty($model->vr_dt_size) ? ' class="text-' . strtolower(StringUtil::prepareSlug($model->vr_dt_size)) . '"' : '') . '>' . $strText . '</div>'; } else { $strText = '<' . strtolower($model->vr_dt_size) . '>' . $strText . '</' . strtolower($model->vr_dt_size) . '>'; } $template->set('text', $strText); return $template->getResponse(); } }