Ergebnis 1 bis 11 von 11

Thema: phpBB_Bridge Entwicklung - ein paar Fragen

  1. #1
    Contao-Nutzer
    Registriert seit
    05.08.2010.
    Ort
    Berlin
    Beiträge
    8

    Frage phpBB_Bridge Entwicklung - ein paar Fragen

    Hallo,

    ich bin grade dabei die Forensoftware phpBB mit Contao zu verbinden. Auf der Seite von phpBB bin ich schon so gut wie fertig, das bedeutet, man kann sich als Contao Benutzer im Forum Anmelden usw.

    Ich würde nun gerne noch die Profile synchronisieren, dass soll bedeuten, wenn ein Mitglied in Contao sein Profil bearbeitet, möchte ich die Daten gerne in die User-Tabelle von phpBB kopieren.
    Contao soll das Mastersystem für die Daten werden.

    Meine Frage ist, wie bekomme ich mit, wann ein Mitglied in Contao sein Profil bearbeitet und wie komme ich an die Daten?
    Bis jetzt habe ich nur eine Möglichkeit gefunden auf das erstellen eines neuen Mitglieds zu reagieren (Registration) und mir ist nicht klar, wie ich an die vom Formular übermittelten Daten komme.

    Im Moment habe ich nur folgende Hülle:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['createNewUser'][] = array('phpBB_bridge''syncprofil'); 
    PHP-Code:
    class phpBB_bridge extends Frontend {
        public function 
    syncprofile($intId$arrData) {
            
    // Die Funktion springt schon mal an, wenn ein Benutzer angelegt wird
            

        
    }

    • Welchen Hook muss ich benutzen (Profil bearbeiten)?
    • Wo befinden sich die Formulardaten (hier: $arrData?) und wie ist es aufgebaut?
    • Kann ich die Datenbankfunktionalität von Contao benutzen?



    Viele Grüße
    Gigagon

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

    Support Contao

    Standard

    Ich denke du müsstest den onsubmit_callback der tl_member benutzen. Schau dir doch mal an wie es die pun_bridge macht.

    Edit: Gerade gesehen dass es die Bridge gar nicht im Repository gibt. Du musst dir wohl ein TYPOlight 2.6/2.7 herunterladen.
    Geändert von andreas.schempp (01.12.2010 um 08:39 Uhr)
    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

  3. #3
    Contao-Nutzer
    Registriert seit
    05.08.2010.
    Ort
    Berlin
    Beiträge
    8

    Standard

    Hi,

    danke schon mal für deinen Tipp.
    Hab mal nach der pun_Bridge gesucht und nach langen suchen auch etwas gefunden:
    http://www.contao.org/board/message/71361.html
    Hab es mir mal angeguckt, aber irgendwie kann ich in Bezug auf Hook/Callback damit nicht so viel anfangen, weil es nur die Klasse mit den Funktionen ist.

    Aber ich habe noch folgendes gefunden, wäre das etwas, was ich gebrauchen könnte?
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['config']['onsubmit_callback'][] = array('Klasse''Methode'); 
    Allerdings steht in der Definition:
    Wird beim Abschicken eines Backend-Formulars ausgeführt.
    Wenn ein Mitglied seine Daten ändert, dann wird doch aber ein FE-Formular ausgeführt oder?

    Mir würde es auch sehr weiterhelfen, wenn jemand ne Erweiterung kennt, die so etwas verwendet und die ich mir einfach mal angucken kann.

    Sry, hab leider im moment erst spät zeit etwas zu testen, weshalb ich nicht so schnell antworten kann.

    Ich hänge schon ewig daran und find einfach kein Ansatz

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

    Support Contao

    Standard

    Du könntest es auch bei meiner magento_bridge nachschauen: http://magento.iserv.ch/
    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

  5. #5
    Contao-Nutzer
    Registriert seit
    05.08.2010.
    Ort
    Berlin
    Beiträge
    8

    Standard

    So, das hab ich auch gemacht.
    Hab auch etwas gefunden, was mich schon mal etwas näher an mein Ziel gebracht hat, aber leider auch nicht wirklich zufriedenstellend ist.
    Grund für meine Unzufriedenheit ist, dass der Hook nur triggert, wenn sich jemand einloggt. Da ich als user selber faul bin, bleib ich aber meistens angemeldet, was den Hook einfach übergeht und auch die Änderungen nicht sofort übernimmt.

    PHP-Code:
    class phpBB_bridge extends Frontend {

        public function 
    sync_profile($objUser) {
            
    // Die Funktion springt schon mal an, wenn sich ein Benutzer einloggt
            
    $resultSet$this->Database->prepare('SELECT city FROM tl_member WHERE username=?')->execute($objUser->username); 
            while (
    $resultSet->next()) { 
                
    $this->Database->prepare('UPDATE phpbb_users SET user_from =? WHERE username=?')->execute($resultSet->city$objUser->username);
            }  
        }

    Im Moment spiele ich mit dem Gedanken, das auf Datenbankebene zu lösen, also mit stored procedures. Ist halt irgendwie unbequem, aber da ich es eh nur einmal installieren möchte, kann ich das ganze noch verkraften.

    Mal gucken, was mir am Wochenende noch so einfällt und schaffe....

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

    Support Contao

    Standard

    Warum musst du diDaten synchronisieren wenn sich jemand anmeldet? Du musst das doch nur bei änderungen machen?
    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
    05.08.2010.
    Ort
    Berlin
    Beiträge
    8

    Standard

    Warum musst du diDaten synchronisieren wenn sich jemand anmeldet? Du musst das doch nur bei änderungen machen?
    Ja genau, nur bei Änderungen.

    Das ist ja das Problem, dass ich nicht weiß, wie ich mitbekommen soll, wann ein Mitglied (FE) seine Profildaten ändert, um die Daten zu synchronisieren.

    Ich habe es jetzt noch mal mit dem Hook:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('phpBB_bridge''sync_profile'); 
    und der Funktion:
    PHP-Code:
       public function sync_profile($arrPost$arrForm$arrFiles) {
               echo 
    "HHHHHHHHHHHHHHHHHHHHHHHAAAAAAAAAAAAAAAAALLLLLLLLLOOOOOOOOOOOOO";
    //        print_r($arrPost);
    //        print_r($arrForm);
    //        print_r($arrFiles);   
       

    probiert, aber diese scheint irgendiwe nicht anzuspringen, denn ein Hallo läst sich nach der Profilbearbeitung nicht finden...

  8. #8
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.613
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Evtl. funktioniert an solchen Stellen das echo-Kommando nicht, versuche es mal mit einem Log-Eintrag:
    PHP-Code:
    $this->log('Hallo''sync_profile()'TL_GENERAL); 

  9. #9
    Contao-Nutzer
    Registriert seit
    05.08.2010.
    Ort
    Berlin
    Beiträge
    8

    Standard

    Auch dir ein Dank für den Tipp mit dem Log, aber leider wurde nichts geloggt. Mit nem anderen Hook funktionierts, mit processFormData nicht.
    Dafür sind die ersten Tests mit einem Datenbank Trigger erfolgreich verlaufen.^^

  10. #10
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.613
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast Du mal in den Core-Sourcen gestöbert, ob dieser Hook bei diesem core-internen Formular überhaupt aufgerufen wird?

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

    Support Contao

    Standard

    Dieser Hook wird nur beim Formulargenerator getriggert. Versuch es mit einem onsubmit_callback (oder save_callback) im tl_member DCA.
    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

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. ein paar wichtige Fragen...
    Von Merlin im Forum isotope
    Antworten: 6
    Letzter Beitrag: 27.07.2010, 12:13
  2. TL-Anwärter hat vorher noch ein paar Fragen
    Von Asterix im Forum Was kann Contao?
    Antworten: 19
    Letzter Beitrag: 25.07.2010, 10:57
  3. Ein paar Fragen...
    Von Bierbauch im Forum Was kann Contao?
    Antworten: 7
    Letzter Beitrag: 05.03.2010, 20:55
  4. Ein paar Fragen zu Stylesheets, Nachrichten, Updates...
    Von Korken im Forum Was kann Contao?
    Antworten: 1
    Letzter Beitrag: 08.01.2010, 14:55
  5. Ein paar Fragen
    Von billy im Forum Entwickler-Fragen
    Antworten: 10
    Letzter Beitrag: 08.08.2009, 16:08

Lesezeichen

Lesezeichen

Berechtigungen

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