Hallo zusammen,
nachdem ich keine Lösung für mein ursprüngliches Problem (https://community.contao.org/de/show...usgef%C3%BChrt) gefunden habe, habe ich mich entschieden, erstmal mit etwas grundlegenderem anzufangen und ein kleines Hello World-Modul zu schreiben, das lediglich den Text "Hello World!" ausgeben soll.
Ich habe dazu verschiedene Tutorials ausprobiert und habe auch versucht, mich anhand der Dokumentation voranzutasten.
Allerdings muss ich wohl etwas grundlegendes falsch machen, denn das Modul taucht im Contao-Backend nirgends auf.
Meine Contao-Version ist die 4.4.45.
Hier die Sourcen im derzeitigen Stand:
config/services.yml:
Code:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
tags:
name: contao.frontend_module
category: miscellaneous
type: hello_world_module
App\:
resource: ../src
exclude: ../src/{Entity,Migrations,Resources,Tests}
App\Action\:
resource: ../src/Action
public: true
dca/tl_module.php:
Code:
<?php
// contao/dca/tl_module.php
$GLOBALS['TL_DCA']['tl_module']['palettes']['hello_world_module'] =
'{title_legend},name,headline,type;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID,space';
src/Controller/FrontEndModule/HelloWorldModuleController.php:
Code:
<?php
// src/Controller/FrontendModule/HelloWorldModuleController.php
namespace App\Controller\FrontendModule;
use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
use Contao\CoreBundle\Exception\RedirectResponseException;
use Contao\ModuleModel;
use Contao\PageModel;
use Contao\Template;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class HelloWorldModuleController extends AbstractFrontendModuleController
{
protected function getResponse(Template $template, ModuleModel $model, Request $request): ?Response
{
$template->message = "Hello World!";
return $template->parse();
}
}
templates/mod_hello_world_module.html5:
Code:
<div class="hello-world-module">
<?php /*$this->block('content');*/ ?>
<?= $this->message; ?>
<?php /*$this->endblock();*/ ?>
</div>
Was mache ich hier falsch?
Und muss ich im Contao-Manager noch etwas tun, um mein Modul nach einer Änderung in der aktuellen Version zur Verfügung zu haben?
Vielen Dank im Voraus!
Lesezeichen