Ergebnis 1 bis 11 von 11

Thema: Verschiedene Detailfragen zur Modulentwicklung (Backend)

  1. #1
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Frage Verschiedene Detailfragen zur Modulentwicklung (Backend)

    (Bitte entschuldigt die großen Screenshots, aber Bilder sagen nunmal mehr als tausend Worte)

    Ich habe mich mittel der Ressourcen für Contao Entwickler mit der Modulentwicklung erfolgreich auseinandergesetzt und meine erste kleine Extension geschrieben. Diese Extension macht nicht viel mehr als im Frontend einen Tweet von einem Twitterusernamen aus der DB auszulesen, per AJAX die Twitter API anzufragen und anzuzeigen. Der Twitterusername kann im Backend in der Datenbank gepflegt werden. Nun habe ich ein paar Detailfragen

    1. Wie kann ich den Titel des Moduls verändern?



    2. Contao arbeitet ja nach dem Containerprinzip. Somit bin ich gezwungen in meiner Extension, die ja eigentlich nur ein Textfeld benötigt, eine Liste anzuzeigen.
    Sieht bei mir momentan so aus.



    Eigentlich möchte ich dieses Screen aber garnicht haben, sondern direkt den folgenden anzeigen. Es soll schließlich nur einen Datensatz geben.



    Anstelle von "Edit record"... würde ich natürlich gerne eine eigene Überschrift wählen.

    Ich könnte natürlich auch das Contao eigene Settings Modul erweitern, das finde ich in diesem Fall allerdings nicht sehr elegant in Sachen Auffindbarkeit der Einstellung für den End-User.

    3. Kann ich in der database.sql meines Moduls direkt Datensätze in die erstellte Tabelle einfügen? Meine bisherigen Versuche sind alle fehlgeschlagen.


  2. #2
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    1. Unter den Einstellungen. Da wird der Titel der Webseite eingetragen. Der steht dann dort.
    2. Wenn du nur an einer Stelle den Twitter-Usernamen abfragen möchtest. Warum nicht in einem Feld z.B. in der Seitenstruktur im Startpunkt der Webseite? Da ist ein eigenen BE-Modul doch ziemlich oversized, oder? Zumal du dort eine eigene Überschrift (Legende) vergeben kannst.
    3. Keine Ahnung. Möglicherweise über die runonce.php.
    Geändert von lomex (22.05.2011 um 12:34 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard

    Danke für deine schnelle Antwort

    zu 1. Das weiß ich, aber ich möchte den Namen meines Moduls dort stehen haben wenn es aktiv ist. Wenn ich mich im Modul 'Artikel' befinde steht der Name des Moduls ja auch dort, anstatt der Name der Website

    zu 2. Das wäre natürlich auch eine Alternative, aber mir ging es jetzt erstmal darum in die Modulentwicklung einzusteigen. Weiter finde ich es in meinem aktuellen Fall angebracht einen Punkt in der BE Navigation hinzuzufügen.

    zu 3. Ich hatte eben noch die Idee: Man könnte ja bei der Initialisierung des Moduls eine PHP Funktion aufrufen, die das für einen erledigt. Nur wie frage ich ab, ob das Modul zum ersten Mal angesprochen wird? Oder ich lasse einfach bei jedem Aufruf eine Datenbankabfrage laufen, die überprüft, ob schon ein Datensatz vorhanden ist. Diese Lösung erscheint mir aber nicht sehr elegant.

  4. #4
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Zu 1 bzw. 2:
    Statt in der Seitenstruktur wäre es übrigens noch besser das Feld direkt im FE-Modul einzutragen. Dort ist es sicherlich am sinnvollsten. Warum gegen Windmühlen ankämpfen? Ansonsten musst du dir halt die DCA's der anderen Module anschauen, wie es dort gemacht wird.

    Zu 3:
    Dafür ist die runonce.php ja da. Sie wird halt genau einmal ausgeführt. Ideal zum befüllen der DB.

    Gruß
    lomex

  5. #5
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard

    Stimmt, das ist die allerbeste alternative!
    Die runonce.php Geschichte werd ich mir gleich mal anschauen

  6. #6
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.622
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zu 1:
    PHP-Code:
    $GLOBALS['TL_LANG']['MOD']['modul'] = array('Modulename''Beschreibung für Home-Seite'); 
    Generell, womöglich müsstest du eher den DataContainer "File" verwenden, dieser speichert in die localconfig, wenn es nur einen Wert gibt. Dann brauchst du auch keine runonce, denn du kannst den Standardwert in die config.php deines Moduls schreiben, und wenn der Benutzer diese ändert wird die neue Version in die localconfig geschrieben.
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  7. #7
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard

    Danke Andreas, dein Snippet hat mir schonmal sehr geholfen, auch wenn es nur eine Kleinigkeit war.
    Ich bin noch recht unsicher was den Aufbau einer Extension angeht und wie ich verschiedene Ansätze umsetzte. Gibt es eine Art KitchenSink? Ich meine gut kommentierte Beispiele für die verschiedenen Modul-Ansätze?

  8. #8
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard

    Oder gibt es gut dokumentierte Extensions, die man als Kitchen Sink 'missbrauchen' könnte?

  9. #9
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.622
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nimm ne Erweiterung von einem Autor deines Vertrauens
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  10. #10
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard

    Na das klingt gut :P
    Dann werd ich mal schauen was sich so als 'Kitchen Sink' missbrauchen lässt

  11. #11
    Contao-Nutzer
    Registriert seit
    09.09.2009.
    Beiträge
    26

    Standard Finally

    Der Vollständigkeit halber möchte ich natürlich kurz erzählen was ich letztendlich gemacht habe:

    Im Backendmodul können beliebig viele Twitter Usernamen eingepflegt werden.
    Dann erstellt man ein Modul welches entweder als Content Element oder einfach im Seitenlayout eingebunden wird. Bei der Erstellung wählt man den User aus einer Dropdown Liste.

    Ich danke euch für die Hilfestellungen!

    Habe das fertige Modul mal angehangen.
    Beim zweiten Modul klappt der Workflow schon wesentlich besser und aus den Fehlern von diesem habe ich schon größtmöglichen Nutzen und Lerneffekt gezogen. Würde mich natürlich über Feedback zum Modul freuen, besonders was Verbesserung der Programmierung etc. angeht.

    Das Modul benötigt jQuery zum laufen.
    Angehängte Dateien Angehängte Dateien

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
  •