Contao-Camp 2024
Ergebnis 1 bis 17 von 17

Thema: Backend-Menü erweitern

  1. #1
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard Backend-Menü erweitern

    Hallo zusammen,

    sicherlich wurde diese Frage schon gestellt, aber ich finde sie und die Lösung dazu nicht.

    Ich möchte gerne mein Backend um einen eigenen Menübereich erweitern. Dazu sollen die einzelnen Punkte auch eine eigene DB-Tabelle bekommen.
    Gibt es dazu eine Anleitung oder ein Video?

    Danke für eure Hilfe im Voraus.

    LG

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Du kennst die Contao Dokumentation (ist hier im Menü ganz oben verlinkt;-) https://docs.contao.org/dev/framework/back-end-modules/.

    Und: Willkommen im Forum
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Hallo,

    danke und danke :-)

    Leider hilft mir das so nicht weiter. Ich habe mir unter system/modules entsprechende Verzeichnisse und Dateien angelegt.

    Nur will es mir nicht gelingen, eine komplett neue Kategorie mit Unterpunkten anzulegen.
    Wie setze ich das um?

    LG

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Unter System/modules solltest Du gar nichts anlegen. Das wäre der alte (Contao 3.x) Weg. Die Doku beschreibt, was Du machen musst.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Guten Morgen,

    kann mir vielleicht jemand anderes helfen? Mit einer Aussage "steht alles in der Doku" kann ich leider, wie bereits erwähnt, nichts anfangen.

    Gibt es eine Übersicht der neuen Verzeichnisstruktur? Wo muss ich meine neuen Kategorie und Module in der neuen Version registrieren, sodass sie mir im Backend angezeigt werden?
    Falls es ein Tutorial dazu gibt, wäre ich dafür sehr dankbar.

    Ich danke euch.

    LG

  6. #6
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Moin,

    vielleicht hift Dir das "Contao Hello World Bundle Tutorial" weiter
    -> https://gist.github.com/joergmoldenh...dbc2d039095142
    Grüße, Stefko

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen
    Mit einer Aussage "steht alles in der Doku" kann ich leider, wie bereits erwähnt, nichts anfangen.
    Dann würde es helfen, wenn Du uns verrätst, mit welchen Stellen der Doku Du Probleme hast, damit wir sie verbessern können.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  8. #8
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Hallo,

    erst einmal Danke für den zweiten Link.

    Dort habe ich ein Youtube-Video gefunden. Da sieht die Ordner-Struktur anders aus als bei mir.

    Managed-edition
    - app

    gibt es bei mir nicht.

    Ich habe mich für Contao entschieden, weil meine Recherche vorab ergeben hat, dass man es leicht erweitern kann.
    Auf contao.org habe ich dann "Contao 4.9 LTS" heruntergeladen und das Theme "Nature" installiert.

    Auf Youtube finde ich zum Backend-Modul Anlegen nur ältere Videos.
    Ich habe mir sogar in der contao-academy ein Abo bestellt, musste aber feststellen, dass es auch hier keinerlei Videos gibt, wie man Contao erweitert.

    Egal wo ich nun lese, es werden Ordner angegeben, die wohl eine gewisse Voraussetzung an Wissen verlangen?!
    Den Ordner "bundles" oder "Contao" sehe ich nicht. Ich habe mal ein Bild meiner Ordnerstruktur angehangen.

    Ich hatte mir erhofft, hier in Forum eine kleine Anleitung für Anfänger zu erhalten á la:

    Zum Entwickeln musst du instaliert haben: x y z
    Deine Erweiterung findest du im Pfad (Beispiel): "vendor/.../"

    Auch ist die Frage, muss ich umbedingt ein Namespace angeben?

    Ein Git-Konto habe ich nicht, möchte ich vorerst auch nicht anlegen.

    Also, wie ihr seht bin ich völlig am Anfang meiner Reise, bin daher überrascht, dass es so etwas wie eine einfache Anleitung nicht zu geben scheint.
    Deshalb habe ich mich hier angemeldet und hoffe auf eure Hilfe.

    Danke, dass ihr euch die Zeit nehmt.

    LG
    Angehängte Grafiken Angehängte Grafiken

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen
    - app

    gibt es bei mir nicht.
    Egal wo ich nun lese, es werden Ordner angegeben, die wohl eine gewisse Voraussetzung an Wissen verlangen?!
    Den Ordner "bundles" oder "Contao" sehe ich nicht. Ich habe mal ein Bild meiner Ordnerstruktur angehangen.
    Hier hilft Dir wahrscheinlich https://docs.contao.org/dev/getting-...g-development/ (und dort insbes.: "When customizing your web application, the following files and folders will usually be of interest. Some of those will need to be created manually")

    Auch ist die Frage, muss ich umbedingt ein Namespace angeben?
    Wenn das in den Beispielen so verwendet wird, warum willst Du das (Best Practice) dann nicht einfach auch so machen. Im übrigen ist das eher PHP- als Contao-Wissen.

    Ein Git-Konto habe ich nicht, möchte ich vorerst auch nicht anlegen.
    Ein Github-Konto benötigst Du auch nicht, solange Du nur lokal entwickelst

    Also, wie ihr seht bin ich völlig am Anfang meiner Reise, bin daher überrascht, dass es so etwas wie eine einfache Anleitung nicht zu geben scheint.
    Wahrscheinlich deshalb, weil die Autoren der Doku das für fundamental gehalten und daher vorausgesetzt haben (meine Einschätzung, ich habe sie nicht gefragt). Ich persönlich finde auch, daß eine Produkt-Doku (hier Contao) keine Einführung in die verwendeten Werkzeuge (hier PHP und MySQL, ...) enthalten muss. Die gibt's zuhauf im Netz.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.704
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen

    Ich möchte gerne mein Backend um einen eigenen Menübereich erweitern. Dazu sollen die einzelnen Punkte auch eine eigene DB-Tabelle bekommen.
    Gibt es dazu eine Anleitung oder ein Video?
    Wenn Du so etwas vor hast und Du vielleicht eher kein Entwickler bist, kannst Du auch mal schauen, ob die gängigen Erweiterungen wie MetaModels oder Catalog Manager, vielleicht schon das Grundgerüst mitbringen, was Du brauchst. Du kannst Dich dann auf Deinen Anwendungsfall konzentrieren ohne tiefere Kenntnisse in PHP oder Symfony.
    Catalog Manager ist zwar nicht kostenfrei, aber lokal oder auf einer geschützten Domain testen ist ohne weiteres möglich.

    Edit: Links ergänzt
    Edit2: MetaModels ist glaub ich noch nicht kompatibel mit Contao 4.9 (Early Adopter Programm). Das solltest Du dann vorher noch einmal checken.
    Geändert von mlweb (08.06.2020 um 10:37 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  11. #11
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Lieber fidsch,

    vielleicht kannst du mir dabei helfen, ein ganz einfaches Beispiel Schritt für Schritt umzusetzen?

    Einen neuen Menüpunkt "Test" anlegen, darunter ein weiterer Menüpunkt "Namen".

    Da ich system/modules nicht mehr verwenden soll, welchen Ordner kann ich nehmen?

    1. Ordnerstruktur anlegen

    Ich würde dann diese Ordnerstruktur anlegen:

    - Startverzeichnis?

    -- test

    ---assets
    ----images

    ---classes

    ---config

    ---dca

    ---languages
    ----de

    ---templates

    Welches wäre dann das Startverzeichnis?

    2. config/config.php füllen

    Was müsste nun in der config stehen. Im Netz habe ich so etwas hier gefunden:

    // Back end modules
    $GLOBALS['BE_MOD'] = array
    (
    'test' => array
    (
    'namen' => array
    (
    //'tables' => array('tl_sem_seminare'),
    )
    )
    );

    $GLOBALS['BE_MOD']['test'] = array
    (
    'icon' => 'startverzeichnis/test/assets/images/icon.png',

    );

    Bei mir hat es so leider nicht funktioniert.

    Kannst du/könnt ihr mich hier bitte unterstützen?

    Danke und lG

  12. #12
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen
    vielleicht kannst du mir dabei helfen, ein ganz einfaches Beispiel Schritt für Schritt umzusetzen?

    Einen neuen Menüpunkt "Test" anlegen, darunter ein weiterer Menüpunkt "Namen".
    Du legst eine Datei contao/config/config.php an (falls Ordner wie config nicht existieren, legst Du sie mit an). Darin packst Du den folgenden Inhalt:


    PHP-Code:
    $GLOBALS['BE_MOD']['test']['namen'] = [
        
    'tables' => ['tl_namen'],
    ]; 
    Jetzt noch den Cache leeren und schon solltest Du den Menüpunkt haben. (Das steht in https://docs.contao.org/dev/framework/back-end-modules/).

    Wenn Du drauf klickst wirst Du aber einen Fehler bekommen, da Du Contao damit anweist, die Datenbank-Tabelle tl_namen darzustellen. Da diese (noch nicht) existiert, wird das nicht funktionieren.

    Damit Du die Datenbanktabelle bekommst, legst Du unter contao/dca/tl_namen.php eine Datei an, in der die Tabellenstruktur definiert wird. Wie das generell geht steht hier https://docs.contao.org/dev/framework/dca/.

    Danach musst Du ins Contao-Installtool gehen um die Tabelle anlegen zu lassen.

    Jetzt sollte Dein Menüpunkt funktionieren, aber es fehlen noch die Labels für die Menüpunkte und die Spaltennamen. Die Dateien dafür gehören unter contao/languages/de (wenn Du zunächst nur deutsche Texte vergeben würdest).


    Zitat Zitat von Heraklit Beitrag anzeigen
    Ich würde dann diese Ordnerstruktur anlegen:
    [...]
    Das sieht alles noch eher nach Contao 3.x aus. Wie es in Contao 4 gemacht wird findest Du hier: https://docs.contao.org/dev/guides/first-bundle/


    Bei mir hat es so leider nicht funktioniert.
    Hier ist es leider schwer helfen, solange Du nicht sagst, wie sich "nicht funktioniert" darstellt: Was hast Du noich gemacht (Cache geleert, ...)? Gab es Fehlermeldungen?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  13. #13
    Contao-Nutzer
    Registriert seit
    24.08.2018.
    Ort
    Magdeburg
    Beiträge
    131

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen
    Ich möchte gerne mein Backend um einen eigenen Menübereich erweitern. Dazu sollen die einzelnen Punkte auch eine eigene DB-Tabelle bekommen.
    Gibt es dazu eine Anleitung oder ein Video?
    Hallo Heraklit,

    ich mach jetzt mal direkt unbeliebt: Nur weil dort irgendwo geschrieben steht, dass es "einfach zu erweitern" ist, heißt das nicht, dass du ohne Wissen mal eben das System erweitern kannst.

    Im Verhältnis zu anderen CMS-Systemen stimmt das aber: Contao kann ziemlich simpel über das DCA im Backend um Listen und Felder erweitert werden. Dazu benötigst du aber zwingend Kenntnisse in php sowie ein wenig Wissen über das Contao DCA und über das Framework Symfony.

    Ich empfehle dir jetzt zwei Wege: Entweder du arbeitest dich in die Erweiterung MetaModels ein - diese nutzt eine GUI in Contao um deine eigenen Elemente zu erstellen. Dazu musst du nichts programmieren.
    Ansonsten empfiehlt sich die Einarbeitung in Symfony (Bundles entwickeln) und den Contao DCA - wie es eben auch in der Dokumentation steht.

    Weitere Linkts, die aus meiner Sicht hilfreich sind, wenn man sich in die Erweiterung von Contao einarbeiten will:
    - https://contao-academy.de/blog/conta...und-langconfig
    - https://github.com/Sioweb/Contao4DummyBundle

  14. #14
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Danke, fidsch, für deine Mühe... ich konnte es nicht umsetzen. Es klappt nur, wenn ich es in "system/modules" schreibe. Es ließ sich zB das BE_MOD->Content sehr einfach erweitern.
    Eine neue Kategorie konnte ich dennoch nicht anlegen.

    Zitat Zitat von fiedsch Beitrag anzeigen
    Du legst eine Datei contao/config/config.php an
    Ist "contao/" das root-Verzeichnis?


    Zitat Zitat von WorkerBeeEu Beitrag anzeigen
    Im Verhältnis zu anderen CMS-Systemen stimmt das aber: Contao kann ziemlich simpel über das DCA im Backend um Listen und Felder erweitert werden. Dazu benötigst du aber zwingend Kenntnisse in php sowie ein wenig Wissen über das Contao DCA und über das Framework Symfony.
    An PHP/MySQL liegt es nicht und über DCA habe ich gute Übersichten gefunden. Daran liegt es nicht. Mit Symfony habe ich allerdings noch nie gearbeitet.

    Ich schaue mir noch einmal deine Links an.

    Sollte es weiterhin so viel Zeit in Anspruch nehmen, einfach nur Menüpunkte anlegen zu können, ist Contao für mich definitiv das falsche Produkt, denn in dieser Zeit, womit ich mich mit einer Kleinigkeit beschäftigen muss, hätte ich jetzt schon das ganze Projekt runterprogrammieren können. Sehr frustrierend...

  15. #15
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von Heraklit Beitrag anzeigen
    Ist "contao/" das root-Verzeichnis?
    Nein, contao/ ist ein Verzeichnis im Root-Verzeichnis Deiner Contao-Installation. Also gleiche Ebene wie z.B. system/ oder vendor/

    Wenn es nicht existiert, musst Du es anlegen.

    Nach allen Änderungen nicht vergessen, den Symfony-Cache zu löschen.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  16. #16
    Contao-Nutzer
    Registriert seit
    29.04.2020.
    Beiträge
    19

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Nein, contao/ ist ein Verzeichnis im Root-Verzeichnis Deiner Contao-Installation. Also gleiche Ebene wie z.B. system/ oder vendor/

    Wenn es nicht existiert, musst Du es anlegen.

    Nach allen Änderungen nicht vergessen, den Symfony-Cache zu löschen.
    Nun hat es endlich funktioniert! :-)

    Danke dir!

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.674
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Edit2: MetaModels ist glaub ich noch nicht kompatibel mit Contao 4.9 (Early Adopter Programm). Das solltest Du dann vorher noch einmal checken.
    MM 2.2 ist für C 4.9 kompatibel - aber eben noch nicht frei gegeben... über das EAP kann man das sofort installieren und einsetzen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •