Ergebnis 1 bis 23 von 23

Thema: Erweiterung in Contao 4.3.5 und höher

  1. #1
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard Erweiterung in Contao 4.3.5 und höher

    Ich möchte gerne eine für mich persönlich wichtige Erweiterung auf Contao 4.3.5 und weiter tauglich machen.

    Ich finde aber wenig weiterhelfende Informationen und bitte daher hier um ein paar Informationen.

    1. Wo liegt jetzt eigentlich eine neue Erweiterung, im Verzeichnis „vendor“ oder unter „vendor/contao“
    2. Wo registriere ich meine Erweiterung und ihre PHP- Klassen mit, bzw. ohne den contao-manager, in der neuen Symfony- Umgebung (AppKernel.php, autoload_classmap.php, …), um sie zum laufen zu bringen.

    Weitere Fragen ergeben sich dann zwangsläufig weiter,.

    Vielen Dank im Voraus.

    Nils

  2. #2
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Hi,

    ich würde gerne diese Frage nochmal nach oben holen.

    Punkt 1 ist klar, einfach unter vendor ein eigenes Verzeichnis erstellen und dort die Erweiterung in der üblichen Struktur einfügen.

    Bei Punkt 2 bin ich nicht sicher wie ich vorgehe.
    Ich habe die aktuelle 4.3.7 managed Version und eine eigene fertige Contao 4 Erweiterung.
    Wie kann ich diese am einfachsten installieren wenn sie nur lokal vorhanden ist?

    Wäre nett wenn jemand helfen könnte. :-)

    Grüße Sabri
    Geändert von Schlauchbeutelmaschine (03.04.2017 um 20:47 Uhr)

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Äh nein, unter vendor machst du nichts, das macht der Composer. Er lädt die Dateien von GitHub über Packagist.org runter und beachtet die composer.json von der Erweiterung, was zu tun ist.
    Sprich, ob die einfach unter vendor/ bleiben oder noch zusätzlich nach system/modules/... kopiert werden sollen.
    Außerdem generiert Composer auch jedesmal die autoloader Dateien neu, damit auch alle Klassen gefunden werden.

    Falls du schon mal eine Erweiterung für Contao 3 + Composer fertig hattest, ändert sich dabei fast nichts.
    Für die Standard Edition muss eine weitere Datei angelegt werden, für die Managed Edition noch eine weitere + eine Eintrag in der composer.json.

    Du könntest sogar die Contao 3 Erweiterung manuell nach systems/modules kopieren und es sollte in den meisten Fällen laufen so sagt man.


    Die Dokumentation ist derzeit noch dürftig, wird aber demnächst kommen so hört man.
    Meine Contao 4 ME Erweiterungen habe ich per "ich schaue mal wie die anderen das machen" gebaut.
    Geändert von BugBuster (03.04.2017 um 21:39 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Nachtrag: Ich habe meine so gebaut wie FAQ/News etc. von Contao zu Zeiten von Contao 4.1, da waren die noch kaum angepasst aber schon lauffähig für die heutige Standard Edition.
    Soll heißen, die original Dateien und Pfade unterhalb des Resources/Contao/ Verzeichnisses. Das Handbuch dazu ist wohl grad verschwunden auf Contao.org. Aber wie gesagt da ist was in Arbeit.

    Wenn du mal schauen willst, meine XING Erweiterung ist recht überschaubar.
    https://github.com/BugBuster1701/contao-xing-bundle
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Für die Standard Edition muss eine weitere Datei angelegt werden, für die Managed Edition noch eine weitere + eine Eintrag in der composer.json.
    Eigentlich muss gar nichts angelegt werden, weder für die standard-edition, noch für die managed-edition. Was genau meinst du da?

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Na die Datei ich in in AppKernel registrieren muss. Meine Erweiterungen für Contao 4 werden nicht nach systems/modules kopiert.
    Wenn man nur das will, dann geht das natürlich auch ohne. (ungetestet)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Achso, du meintest für Bundles. War mir nicht sicher worauf dieser Thread nun genau hinaus will.

  8. #8
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Ja, dazu muss man sich erst mal entscheiden, wie man in Contao 4 anfängt. Contao-Bundle oder "Old School Hack"
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Contao 3 Erweiterungen die mit Contao 4 kompatibel sind, sind kein Hack, sondern zu 100% in Contao 4 unterstützt .

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Wie man lokal ein vendor bundle entwickelt hat xtra hier kurz umrissen: https://community.contao.org/de/show...l=1#post422990

  11. #11
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.512
    User beschenken
    Wunschliste

    Standard

    Wer in Richtung Bundles gehen will: https://docs.contao.org/books/extend...naged-edition/
    oder nur mal lesen will was sich so ändert (API Changes / Deprecated features) ist dort im Abschnitt "Background Information" zu finden.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  12. #12
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Hi Leute,

    vielen Dank für die Antworten!

    Ich hatte das Modul auf Basis eines Contao Bundles aufgebaut, werde aber nochmal prüfen ob alles passt.

    Nur zum Verständnis, bei einem lokalen bundle, ohne Git und ohne Packagist muss ich die composer.json des Bundels so konfigurieren wie im 2. Beispiel von xtra?
    Also das repository als eigenes Verzeichnis im pfad des root? Und dann einfach "composer install" ausführen?
    Oder muss ich dann noch die composer.json des Systems anpassen?

    Grüße Sabri

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Was meinst du mit "im Pfad des root"? Du musst in der composer.json deiner Contao Installation die Information hinzufügen, wo dein Code (lokal) liegt.

  14. #14
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Damit meine ich das der Ordner zum Bundle auf der gleichen Ebene wie der "app" Ordner liegt.
    Füge ich in die composer.json vom System den ganzen Inhalt der composer.json des Bundles?

    Danke schonmal!

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Ich verstehe deine Struktur nicht ganz, beschreibe da mal genauer.

  16. #16
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Mein Aufbau entspricht dem Modul von Bugbuster und es liegt aktuell auf der gleichen Ebene wie der App Ordner.
    Es ist dann genauso wie in dem Beispiel von xtra abgelegt:

    Code:
    "repositories": [
            {
                "type": "path",
                "url": "_external/meinmodul"
            }
    ],

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Verstehe es immer noch nicht ganz. Du hast mehrere Möglichkeiten:

    1. Ein AppBundle machen, das mehr oder weniger nur für diese Installation gilt.
    2. Ein Vendor Bundle machen.
    3. Eine klassische Contao 3 Extension.


    Im Fall von 1. brauchst du keine Änderung in der composer.json, zumindest nicht in der standard-edition. Hier legst du dein Bundle einfach im src/ Ordner ab.

    Im zweiten Fall brauchst du die Vorgehensweise wie von extra beschrieben. Allerdings liegt dein Code dann irgendwo außerhalb der Contao Installation und wird nur von Composer dann hinein gesymlinked.

    Im dritten Fall gibst du die Extension in den /system/modules Ordner, entweder per Symlink oder direkt (kann man auch wie bei 2. machen).

  18. #18
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Danke für die Erklärungen, ich nutze ja die Managed-Edition von daher wäre die Frage ob es dort gleich ist?

  19. #19
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Ist das eine Extension, die du planst in mehreren Contao Installationen einzusetzen, oder ist das nur für genau eine Contao Installation?

  20. #20
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Ist nur für eine Installation gedacht.

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Dann mach es einfach so wie hier beschrieben: https://docs.contao.org/books/extend...g-an-appbundle (falls du mit der Managed Edition arbeitest).

  22. #22
    Contao-Fan Avatar von Schlauchbeutelmaschine
    Registriert seit
    16.06.2009.
    Ort
    Wiesbaden
    Beiträge
    668

    Standard

    Das hatte ich auch schon gesehen, allerdings gibt es den src Ordner nicht mehr in der ME oder?

  23. #23
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.088
    Partner-ID
    10107

    Standard

    Du kannst ihn aber selbst anlegen

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
  •