Ergebnis 1 bis 5 von 5

Thema: Modul Zugriff im Frontend auf Datenbank

  1. #1
    Contao-Nutzer
    Registriert seit
    20.08.2014.
    Beiträge
    25

    Standard Modul Zugriff im Frontend auf Datenbank

    Hallo,

    wir haben ein Modul entwickelt. Soweit hat das für das Backend auch alles bestens geklappt, dort ist es integriert und funktioniert.
    Nun möchten wir noch im Frontend etwas ausgeben, wofür wir Daten aus der DB benötigen.
    Irgendwie fehlt uns der Ansatz, wie wir im Frontend an die DB kommen. Was müssen wir denn tun, damit die von Contao bereitgestellte DB-Anbindung genutzt werden kann und wir Abfragen usw. machen können? Da wo wir sind, ist die DB immer unbekannt.

  2. #2
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hi,

    also normal kommt man von wirklich jeder Stelle in Contao mit ...

    PHP-Code:
    \Database::getInstance()->prepare("SELECT * ....")->execute(); 
    ... an die Datenbank :-)
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  3. #3
    Contao-Nutzer
    Registriert seit
    20.08.2014.
    Beiträge
    25

    Standard

    Danke für die Antwort.
    Das benutzen wir schon erfolgreich.

    Das Problem ist, an anderer Stelle klappt es nicht. Wir rufen mit Ajax per Jquery eine andere Datei auf, die etwas mit der DB macht. Das Problem, in dieser Datei kommen wir nicht an die DB ran, dass Objekt ist nicht bekannt. Wie machen wir das bekannt?

  4. #4
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Dann schreib das doch gleich, dass es sich um eine Datei handelt, die nicht direkt mit Contao in Verbindung steht. Unter Frontend versteh ich das Contao-Frontend, in der die DB ja immer bekannt ist ;-)

    Also, du solltest demnach in der aufgerufenen Datei das System von Contao bekannt machen

    Das machst du am einfachsten, indem du folgendes in die Datei einbindest

    Beachtet den relativen Pfad zu der Datei initialize.php.
    PHP-Code:
    define('TL_MODE''FE');
    require_once(
    '../../initialize.php'); 
    Danach kannst du innerhalb der Datei eine Klasse erstellen, welche von System erbt und somit auch die Datenbankverbindung kennt

    z.B.

    PHP-Code:
    class AjaxContao extends System
    {

    // hier hast du in jedem Fall Zugriff auf die DB


    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #5
    Contao-Nutzer
    Registriert seit
    20.08.2014.
    Beiträge
    25

    Standard

    Danke, das hilft uns sehr.

    Vielleicht kannst Du uns helfen, unseren Ansatz zu verbessern.
    Wir haben grundsätzlich verstanden, wie ein Backend-Modul zu erstellen ist und dies erfolgreich umgesetzt. Im Backend werden nun Einträge in der Contao-DB erstellt.
    Was uns konzeptuell bisher unklar ist, ist wie wir die DCA-Daten, die wir in unserem Backend-Modul spezifiziert haben, auf Seite der Frontend-Ausgabe (Contao-Frontend) benutzen können.
    Wir müssen die Ausgabe im Frontend ändern, die durch ein anderes Modul definiert wird, das wir nicht selbst geschrieben haben.
    Dieses andere Modul ist konform der Spec unter /system/moduls/... gespeichert.
    Im root-Ordner der Contao-Installation ist unter /templates/ ein foo.html5 File definiert, der die Ausgabe verschiedener Daten dieses anderen Moduls beschreibt.
    Dort greifen wir Daten ab, geben sie per Ajax an "einen php-File" weiter und müssen dort die DB benutzen (das ist das diesem Post zugrunde liegende Problem).
    "einen php-File" würden wir gern austauschen gegen die, wie auch immer geartete Contao-konforme Nutzung einer Klasse die zu UNSEREM Modul gehört.
    Wir beginnen erst mit der Entwicklung mit Contao und lesen uns derzeit intensiv ein - das möge zur Entschuldigung dienen, das die Ausführungen hier etwas "diffus" sind

    Vielen Dank für die Hilfe!

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
  •