Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

Contao Codebook

Collapse
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    Contao Codebook

    Hallo zusammen,

    ich erstelle gerade ein Handbuch für Entwickler. Das Contao Codebook stellt eine strukturierte Einführung in die Entwicklung dar. Es richtet sich an Einsteiger und fortgeschrittene Entwickler. Es soll die Zusammenhänge möglichst einfach, aber umfassend erläutern. Ziel ist es, möglichst vielen Menschen die Entwicklung für Contao zu ermöglichen. Ihr findet das Contao Codebook unter https://easysolutionsit.de/codebook.html.
    Viele Grüße,
    eS_IT
    --
    e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
    Website - Contao Codebook - Partnerprofil - GitHub

    #2
    Ein Button [Vor] wäre schön...
    MetaModels-Workshop: Anfragen möglich
    Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
    Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen

    Comment


      #3
      Zitat von zonky Beitrag anzeigen
      Ein Button [Vor] wäre schön...
      Leider kann ich ohne Kontext nicht nach vollziehen, was Du mir sagen willst. Sorry!
      Viele Grüße,
      eS_IT
      --
      e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
      Website - Contao Codebook - Partnerprofil - GitHub

      Comment


        #4
        Sorry... meinte auf Deiner Webseite - da gibt es bei den Kapiteln immer nur den Button [Zurück] ... zusätzlich ein [Vor] wäre schön ;-)
        MetaModels-Workshop: Anfragen möglich
        Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
        Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen

        Comment


          #5
          Zitat von zonky Beitrag anzeigen
          Sorry... meinte auf Deiner Webseite - da gibt es bei den Kapiteln immer nur den Button [Zurück] ... zusätzlich ein [Vor] wäre schön ;-)
          Alles klar. Es ist kein Zurück im Sinne von "zum letzten Kapitel", sondern ein "Zurück zum Inhalt". Buttons um die Kapitel zu wechseln ist aber auch eine gute Idee, nur leider auf Grund der Automatisierung nicht so einfach umsetzbar. Ich habe es auf die Wunschliste geschrieben. Der Button heißt jetzt "Inhalt", dies sollte die Verwirrung erst einmal begeben.
          Viele Grüße,
          eS_IT
          --
          e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
          Website - Contao Codebook - Partnerprofil - GitHub

          Comment


            #6
            Zitat von eS_IT Beitrag anzeigen
            Der Button heißt jetzt "Inhalt", dies sollte die Verwirrung erst einmal begeben.
            Verwirrung was der Button macht war bei mir nicht da - nur um das nächste Kapitel zu öffnen, musste ich das "Pilgerschrittverfahren" anwenden ;-)
            MetaModels-Workshop: Anfragen möglich
            Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
            Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen

            Comment


              #7
              Zitat von eS_IT Beitrag anzeigen
              Hallo zusammen,

              ich erstelle gerade ein Handbuch für Entwickler. Das Contao Codebook stellt eine strukturierte Einführung in die Entwicklung dar. Es richtet sich an Einsteiger und fortgeschrittene Entwickler. Es soll die Zusammenhänge möglichst einfach, aber umfassend erläutern. Ziel ist es, möglichst vielen Menschen die Entwicklung für Contao zu ermöglichen. Ihr findet das Contao Codebook unter https://easysolutionsit.de/codebook.html.
              Super, danke! Sehr praktisch, informativ und übersichtlich.

              Comment


                #8
                Zitat von zonky Beitrag anzeigen
                Verwirrung was der Button macht war bei mir nicht da - nur um das nächste Kapitel zu öffnen, musste ich das "Pilgerschrittverfahren" anwenden ;-)
                Die "Buchnavigation" ist nun auch implementiert, allerdings nur innerhalb der Kapitel.
                Viele Grüße,
                eS_IT
                --
                e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
                Website - Contao Codebook - Partnerprofil - GitHub

                Comment


                  #9
                  Sehr schönes Projekt, wird das noch erweitert auf andere Punkte, wie Modulentwicklung z.B.?

                  Danke

                  Thomas

                  Comment


                    #10
                    Hallo Thomas,

                    es kommt jeden Montag ein neuer Text. Im Augenblick geht es Callbacks, danach um Hooks und dann ist ein Kapitel über Entwicklung für das Frontend geplant. Dort wird es dann auch im Frontend-Module und Inhaltselemente gehen.
                    Viele Grüße,
                    eS_IT
                    --
                    e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
                    Website - Contao Codebook - Partnerprofil - GitHub

                    Comment


                      #11
                      Zitat von eS_IT Beitrag anzeigen
                      Hallo Thomas,

                      es kommt jeden Montag ein neuer Text. Im Augenblick geht es Callbacks, danach um Hooks und dann ist ein Kapitel über Entwicklung für das Frontend geplant. Dort wird es dann auch im Frontend-Module und Inhaltselemente gehen.
                      Hallo Thomas,
                      ich find deine Arbeit wirklich Klasse und hab da doch glatt eine Frage
                      Ich bin absolut neu auf dem Gebiet. Hab mich vorher in Symfony ein wenig eingearbeitet und wollte jetzt mal mit einer Contao Erweiterung starten. Komm aber direkt an meine Grenze. Ich habe, mal abgesehen von der Entwicklungsumgebung, alle Schritte befolgt.
                      Ich habe eine frische 4.13er Version mittels XAMPP aufgesetzt.
                      Habe alle Punkte Schritt für Schritt abgearbeitet und sollte nun eigentlich im Backend den Hilfe Punkt sehen. Dort ist aber leider nichts.
                      Ich bekomm beim leeren des Caches, Composer Update usw keinen Fehler angezeigt. Es läuft alles normal durch.
                      Ich bin genau wie im "Tutorial" beschrieben vorgegangen.
                      Hast du vllt eine Idee?

                      Das einzige was mir einfallen würde, wäre der Punkt mit dem Manager-Plugin und der Plugin.php im Verzeichnis: src/Name/Beispiel/Classes/Contao/Manager/Plugin.php
                      Den Code für die Plugin.php hab ich von dir übernommen:

                      PHP-Code:
                      <?php declare(strict_types=1);

                      namespace 
                      Name\Beispiel\Classes\Contao\Manager;

                      use 
                      Contao\ManagerPlugin\Bundle\Config\BundleConfig;
                      use 
                      Contao\ManagerPlugin\Bundle\BundlePluginInterface;
                      use 
                      Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
                      use 
                      Name\Beispiel\NameBeispielBundle;

                      class 
                      Plugin implements BundlePluginInterface
                      {
                          public function 
                      getBundles(ParserInterface $parser): array
                          {
                              return [
                                  
                      BundleConfig::create(NameBeispielBundle::class)->setLoadAfter([ContaoCoreBundle::class])
                              ];
                          }
                      }
                      Ist das an dieser Stelle korrekt?
                      Last edited by Spooky; 29.08.2023, 10:17. Grund: added [php] tags

                      Comment


                        #12
                        Der FQCN des Contao Manager Plugins ist (bei einer Extension) frei wählbar, da du ja selbst über die composer.json deines Pakets festlegst, wo das Contao Manager Plugin zu finden ist (also wieder FQCN lautet). Siehe https://docs.contao.org/dev/framewor...manager-plugin
                        » sponsor me via GitHub or Revolut

                        Comment


                          #13
                          Zitat von Spooky Beitrag anzeigen
                          Der FQCN des Contao Manager Plugins ist (bei einer Extension) frei wählbar, da du ja selbst über die composer.json deines Pakets festlegst, wo das Contao Manager Plugin zu finden ist (also wieder FQCN lautet). Siehe https://docs.contao.org/dev/framewor...manager-plugin
                          Sry, was meinst du mit FQCN? Steh aufn Schlauch

                          Comment


                            #14
                            Zitat von PKoch91 Beitrag anzeigen
                            Sry, was meinst du mit FQCN? Steh aufn Schlauch
                            Hallo 23PKoch91,

                            das ist der Klassenname inkl. Namespace. Ich würde auch vermuten, dass dieser nicht mit der Angabe in der composer.json übereinstimmt.

                            By the way: Thomas hat die Frage gestellt und ich schreibe das Code Book.
                            Viele Grüße,
                            eS_IT
                            --
                            e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
                            Website - Contao Codebook - Partnerprofil - GitHub

                            Comment


                              #15
                              Zitat von eS_IT Beitrag anzeigen
                              Hallo 23PKoch91,

                              das ist der Klassenname inkl. Namespace. Ich würde auch vermuten, dass dieser nicht mit der Angabe in der composer.json übereinstimmt.

                              By the way: Thomas hat die Frage gestellt und ich schreibe das Code Book.
                              composer.json der Erweiterung:
                              Code:
                              {
                                  "name": "Name/Beispiel",
                                  "description": "Es handelt sich um eine Erweiterung für das Open Source CMS Contao",
                                  "license": "proprietary",
                                  "type": "contao-bundle",
                                  "authors": [
                                      {
                                          "name": "PK",
                                          "email": "info@test.de",
                                          "homepage": "http://test.de",
                                          "role": "Azubi"
                                      }
                                  ],
                                  "support": {
                                      "email": "info@test.de"
                                  },
                                  "require": {
                                      "php": "^8.1",
                                      "contao/manager-bundle": "^4.13"
                                  },
                                  "require-dev": {
                                      "contao/test-case": "^4.13",
                                      "phpunit/phpunit": "^9.5"
                                  },
                                  "autoload": {
                                      "psr-4": {
                                          "Name\\Beispiel": ""
                                      }
                                  },
                                  "extra": {
                                      "contao-manager-plugin": "Name\\Beispiel\\Classes\\Contao\\Manager\\Plugin"
                                  }
                              }
                              und die composer.json der 4.13er:
                              Code:
                              {
                                  "type": "project",
                                  "require": {
                                      "contao/conflicts": "*@dev",
                                      "contao/manager-bundle": "4.13.*",
                                      "contao/calendar-bundle": "4.13.*",
                                      "contao/comments-bundle": "4.13.*",
                                      "contao/faq-bundle": "4.13.*",
                                      "contao/listing-bundle": "4.13.*",
                                      "contao/news-bundle": "4.13.*",
                                      "contao/newsletter-bundle": "4.13.*"
                                  },
                                  "extra": {
                                      "public-dir": "public",
                                      "contao-component-dir": "assets"
                                  },
                                  "scripts": {
                                      "post-install-cmd": [
                                          "@php vendor/bin/contao-setup"
                                      ],
                                      "post-update-cmd": [
                                          "@php vendor/bin/contao-setup"
                                      ]
                                  },
                              
                                  "autoload": {
                                      "classmap": [
                                          "app/ContaoManagerPlugin.php"
                                      ],
                                      "psr-4": {
                                          "Name": "src/Name/"
                                      }
                                  }
                              }

                              bei classmap:
                              ich musste "app/ContaoMangerPlugin.php" nehmen, weil laut Guide "app/ContaoManager/Plugin.php" bekomm ich beim Composer einen Fehler und zwar das er den Pfad nicht findet.
                              Ich denke die Json Dateien sind korrekt

                              Und wegen der Verwechslung: Tut mir leid
                              Last edited by Spooky; 29.08.2023, 11:05. Grund: added [code] tags

                              Comment

                              Working...
                              X