Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: Contao Notification: Callback-Frage

  1. #1
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard Contao Notification: Callback-Frage

    Hallo Community,

    ich habe eine spezifische Fragestellung.

    Szenario:

    Ein Kunde wünscht sich auf der Backend-Startseite eine Notification für bestimmte Einträge eines Custom Catalog, sagen wir es gibt 'News'. Wenn der Wert der Eigenschaft 'Bereits erhältlich' einer News gleich 0 ist, sollen diese Einträge im Backend auf der Startseite zur Überprüfung auftauchen. Also dem Kunde soll eine Liste mit noch zu aktualisierenden Einträgen angezeigt werden. Soweit habe ich das auch schon umgesetzt, siehe Screenshot.

    screen.png

    Dazu habe ich mir ein eigenes Notification Modul geschrieben:

    Code:
    class Notification extends \Backend {
    	
    	public function myGetSystemMessages() {
                   ....
                  $outputMessage .= "<div class='news_notification_container'>";
            $outputMessage .= "<h2>News-Einträge: Die letzten 10 Einträge überprüfen.</h2>";
    		$outputMessage .= "<p>Bitte überprüfen Sie folgende News-Einträge. Hier könnten noch unvollständige Daten vorliegen:</p>";
    		$outputMessage .="<ul>";
                  ....
    
                 return $outputMessage;
    Es generiert also eine Ausgabe, was als return zurückgegeben wird und damit ausgegeben wird.

    Funktioniert soweit, jetzt kommts:
    In der Ausgabe habe ich einen Button 'Künftig ignorieren'. Klickt der User darauf soll einfach ein Feldwert in der Tabelle gesetzt werden, so dass diese Eintrag zukünftig nicht mehr erscheint.

    Jetzt habe ich das so gelöst (und das ist sicher nicht best practise, ich weiß aber nicht, wie man das anders machen sollte):

    Es wird eine backend.js ins Backend integriert. Die macht einen Ajax Call auf ein extern liegendes PHP-Script und übergibt die ID des jeweiligen Eintrags an PHP-Script. Dieses PHP-Script macht eine Datenbank-Verbindung auf (bad!), ohne Contao-Referenz, und ändert einfach den Feldwert des Eintrags mit der entsprechenden ID.

    Mal abgesehen davon, dass man denke ich kein PHP-Script extern schreiben sollte, was eine Datenbankverbindung macht (das Script wäre ja auch von extern aufrufbar) und die Lösung auch umständlich ist, wenn sich bspw. die Datenbankverbindung ändert und man dann neben den Contao-Datenbankeinstellungen, auch hier Änderung vornehmen muss, stellt sich die Frage wie man dann eine solche Ausgabe im Backend mit einem Button und einem Callback innerhalb der Contao-Welt, z.B. innerhalb des Moduls machen könnte.

    Vielleicht kann mich jemand in die richtige Richtung schubsen um das etwas solider umzusetzen.

  2. #2
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Um was für eine Version von Contao handelt es sich hier?
    Grüße
    Alex

  3. #3
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Contao 4.4.40

  4. #4
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Wenn ich dich richtig verstanden habe, sollte das alles über eine backend Route machbar sein. Hier würdest du zu 100% in Contao bleiben.
    Grüße
    Alex

  5. #5
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Danke, hilft mir. Ich werde da weiter schauen.

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
  •