madeyourday/contao-rocksolid-custom-elements

Could not find template "be_TinyMCE"

rustykowski opened this issue · 4 comments

Contao: 4.13.12
Paket Version v2.4.2
PHP: 8.1

Bei Verwendung von 'eval' => array('rte' => 'tinyMCE') innerhalb eines Feldes in einer 'inputType' => 'list' erhalte ich den genannten Fehler, sobald ich das Custom-Element im Backend bearbeiten möchte. Der Fehler trat erst nach einer Aktualisierung auf, bei der ich gleichzeitig PHP, Contao und alle Pakete aktualisiert habe. Der vorherige Zustand war Contao 4.13.4, PHP 8.0, RSCE 2.3.12.

Jedoch hilft es nicht, die RSCE-Version auf 2.3.* zu verringern.
Das Template anzulegen hilft ebenso wenig.

Der Fehler tritt nicht auf, wenn man in der config das 'eval' => array('rte' => 'tinyMCE') weglässt, allerdings bekommt man dann natürlich auch keinen Editor.

Außerdem tritt der Fehler nicht bei unverschachtelten Feldern auf.

request.CRITICAL: Uncaught PHP Exception Exception: "Could not find template "be_TinyMCE"" at /.../vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateLoader.php line 156 {"exception":"[object] (Exception(code: 0): Could not find template \"be_TinyMCE\" at /.../vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateLoader.php:156)"} []
ausi commented

Wir konnten den Fehler mit Contao 4.13.12 nicht reproduzieren. Existiert die Datei vendor/contao/core-bundle/src/Resources/contao/templates/backend/be_tinyMCE.html5 auf dem Webspace?

Bitte den gesamten Inhalt der der rsce_…_config.php posten damit wir den Fehler genauer untersuchen können.

Ja, das be_tinyMCE Template existiert unter dem genannten Pfad.

Hier die config.php, siehe Zeile 75:

<?php
return array(
    'label' => array(
        'Teaser-Gruppe', 
        'Eine Gruppe von Teaser-Kacheln'
    ),
    'types' => array('content'),
    'contentCategory' => 'links',
    'standardFields' => array(
        'cssID',
    ),
	'fields' => array(
		'teasers' => array(
			'label' => array(
				'de' => array(
					'Teaser-Kacheln',
					'Fügen Sie einen oder mehrere Teaser hinzu.',
				),
			),
			'elementLabel' => array(
				'de' => 'Teaser %s',
			),
        'inputType' => 'list',
        'fields' => array(
            'size' => array(
                'label' => array(
                    'de' => array('Größe', 'Breite des Teasers'),
                    'en' => array('Size', 'Width of the teaser'),
                ),
                'inputType' => 'select',
                'options' => array(
                    1 => 'normal (1/3)',
                    2 => 'breit (2/3)',
                    3 => 'volle Breite',
                ),
                'default' => 1,
                'eval' => array(
                    'mandatory' => true,
                    'tl_class' => 'w50',
                ),
            ),
            'color' => array(
                'label' => array('Hintergrundfarbe', 'Unerheblich, falls ein Hintergrundbild verwendet wird'),
                'inputType' => 'select',
                'options' => array(
                    'blue' => 'Blau',
                    'green' => 'Grün',
                    'red' => 'Pink',
                ),
                'default' => 'blue',
                'eval' => array(
                    'mandatory' => true,
                    'tl_class' => 'w50',
                ),
            ),
            'singleSRC' => array(
                'label' => array('Hintergrundbild (optional)', 'Bitte wählen Sie ein Bild aus der Dateiverwaltung'),
                'inputType' => 'fileTree',
                'eval' => array(
                    'fieldType' => 'radio',
                    'filesOnly' => true,
                    'extensions' => 'jpg,jpeg',
                    'mandatory' => false,
                    'tl_class' => 'clr',
                ),
            ),
            'text' => array(
                'label' => array(
                    'de' => array('Text', 'Inhalt der Textbox'),
                    'en' => array('Text', 'Contents of the text-box'),
                ),
                'inputType' => 'textarea',
                'eval' => array(
                    'mandatory' => false,
                    'rte' => 'TinyMCE',
                    'allowHtml' => true,
                    'tl_class' => 'clr',
                ),
            ),
            'url' => array(
                'label' => array('Link', 'Wählen Sie eine Zielseite aus oder fügen Sie eine eine vollständige Webadresse inkl. „http“ ein.'),
                'inputType' => 'text',
                'eval' => array(
                    'mandatory' => false,
                    'tl_class' => 'w50',
                    'dcaPicker' => array ('providers' => array('pagePicker', 'filePicker') ),
                ),
            ),
            'label' => array(
                'label' => array('Button-Text', 'Beschriftung des Buttons'),
                'inputType' => 'text',
                'eval' => array(
                    'mandatory' => true,
                    'tl_class' => 'w50',
                ),
                'default'=> 'mehr erfahren',
            ),
        ),
    ),
    ),
);
ausi commented

In der Konfiguration liegt ein Fehler vor, es ist 'rte' => 'TinyMCE' anstatt wie vorher erwähnt 'rte' => 'tinyMCE' angegeben. Der Buchstabe T muss klein geschrieben werden.

Oh mann, wie peinlich. Ich danke dir!