Zum Inhalt springen

Powermail und externe Tabelle

Erstellt am 22. Januar 2010 · 11 Antworten · letzte Antwort am 18. April 2011

Tags: Powermail, Frontend-Benutzer, Frage

o_alemao ·

Ich bin am verzweifeln und bekomme es einfach nicht hin. Jedes Dokument, das ich im Netz zu diesem Thema findet behandelt als Zieldatenbank tt_address, ich will meine Daten aber an fe_users übergeben. Dass das gehen soll habe ich in zig Foren und Manuals schon gelesen, aber leider finde ich niergendwo ein Beispiel.

Ich habe das tt_address-Beispiel folgendermassen abgeändert (für meine Tests):

plugin.tx_powermail_pi1.debug.output = all
plugin.tx_powermail_pi1.dbEntry {
     fe_users {
        _enable = TEXT
        _enable.value = 1

        tx_feuserextrafields_descricao = TEXT
        tx_feuserextrafields_descricao.data = TSFE:fe_user|sesData|powermail_808|uid78
        }
}

Das ganze steht ganz am Anfang meines Haupttemplates. Per Debug sehe ich auch was passiert, ganz am Ende finde ich den Eintrag:

powermail: Extern DB-table entries
Main Table fe_users.tx_feuserextrafields_descricao Das ist ein Beispiel
MM Table no values or entry already exists

Es sieht ganz so danach aus, als würde der Eintrag an fe_users gesendet, leider bleibt diese unangerührt :-(

Wo liegt mein Fehler?

Viele Grüsse
Matthias

einpraegsam.​net ·

was ist wenn du mal ein paar statische Werte in die db eintragen würdest?

# z.B.
plugin.tx_powermail_pi1.dbEntry {
     fe_users {
        _enable = TEXT
        _enable.value = 1
 
        pid = TEXT
        pid.value = 1

        email = TEXT
        email.value = bla@test.de
     }
}
o_alemao ·

Hallo einpraegsam,

Danke für den Tipp, hatte ich schon versucht. Naja, im Eifer des Gefechts mit den falschen Werten, nämlich

email = TEXT
email.data = das ist eine Testmail
^^^^^^^^^^

So wird das natürlich nichts... Dennoch, es geht immer noch nicht. Beim Durchforsten von fe_users bin ich nun auf folgendes gestossen: Jeden Test den ich ausgeführt habe, hat einen neuen Datensatz in fe_users kreiert und brav die Daten da hineingeschrieben. Mit anderen Worten, es werden die Werte an fe_users übergeben, aber anstatt die Daten dem angemeldeteten User zuzuordnen wurde ein neuer Datensatz (neue uid) angelegt.

Ich mach mich wieder auf die Suche, falls Dir (Euch) etwas einfallen sollte, bitte posten.

Viele Grüsse
Matthias[/quote]

o_alemao ·

Wenn ich mir jetzt so meinen eigenen Text durchlese... Woher soll powermail den wissen, in welchen fe_user Datensatz die Daten eingetragen werden sollen? Steht ja eigentlich in dem Datenbankaufruf nirgend wo drin (wenigstens das, was ich aus dem Debug herauslesen kann).

powermail: Extern DB-table entries
Main Table fe_users.tx_feuserextrafields_descricao Das ist ein Beispiel
MM Table no values or entry already exists

o_alemao ·

hehehe, nett formuliert. Ich als Leidtragender sehe das allerdings anders: Solange es noch nicht geht ist ein Bug, auch wenn der Bug Matthias heisst :-)

o_alemao ·

Ich bekomme es einfach nicht hin, dass der Eintrag in einen vorhandenen Datensatz geschrieben wird. Kann mir jemand noch mal eine Hilfestellung geben, wie ich dem TS den angemeldeten User mitgeben kann?

Ich habe schon mit

table = fe_users
	select {
    		pidInList = 32
    		# ID des Users
    		where = uid = {$user}
		}

rumgespielt, aber irgendwie haben alle diese Versuche (in unzähligen Varianten) nichts gebracht.

Matthias

o_alemao ·

Habe die Lösung so gut wie parat, werde es noch gegentesten und dann hier reinstellen. Jetzt, wo es fast funktioniert, ist es eigentlich ganz logisch :-)
Mann lernt nie aus...

o_alemao ·

Hier mein funktionierendes TS:

plugin.tx_powermail_pi1.dbEntry {
        fe_users {
                _enable = TEXT
                _enable.value = 1
                _ifUnique.username = update   
# vorhandene Werte werden  upgedatet, neue Datensätz werden angelegt

                username = TEXT
                username.data = TSFE:fe_user|user|username
# Das ist mein Auswahlkriterium

                tx_feuserextrafields_descricao = TEXT
                tx_feuserextrafields_descricao.data = TSFE:fe_user|sesData|powermail_808|uid78
                
                tx_feuserextrafields_tittu = TEXT
                tx_feuserextrafields_tittu.data = TSFE:fe_user|sesData|powermail_808|uid76
               
                tx_feuserextrafields_titlink = TEXT
                tx_feuserextrafields_titlink.data = TSFE:fe_user|sesData|powermail_808|uid74

                tx_feuserextrafields_numero = TEXT
                tx_feuserextrafields_numero.data = TSFE:fe_user|sesData|powermail_808|uid85

                tx_feuserextrafields_data= TEXT
                tx_feuserextrafields_data.data = TSFE:fe_user|sesData|powermail_808|uid87

                tx_feuserextrafields_mensagem= TEXT
                tx_feuserextrafields_mensagem.data = TSFE:fe_user|sesData|powermail_808|uid97

      
                
        }
}
Bashi ·

Hi,

ich hab den Code aus dem letzten Beitrag zwar etwas umgebaut, aber im großen und ganzen ist es das gleiche. Dennoch werden die Daten nicht in die Datenbank geschrieben. Im Gegenteil, die Felder mit tx_mcpaket_... sind danach leer, obwohl die UID's in powermail gefüllt waren.

Weiß allerdings nicht woran es liegt.

plugin.tx_powermail_pi1.dbEntry {
        fe_users {
                _enable = TEXT
                _enable.value = 1
                _ifUnique.username = update   
# vorhandene Werte werden  upgedatet, neue Datensätz werden angelegt
 
                username = TEXT
                username.data = TSFE:fe_user|user|username
# Das ist mein Auswahlkriterium
 
                tx_mcpaket_mcbank = TEXT
                tx_mcpaket_mcbank.data = TSFE:fe_user|sesData|powermail_34|uid318
 
                tx_mcpaket_mcblz = TEXT
                tx_mcpaket_mcblz.data = TSFE:fe_user|sesData|powermail_34|uid319
 
                tx_mcpaket_mcktnr = TEXT
                tx_mcpaket_mcktnr.data = TSFE:fe_user|sesData|powermail_34|uid320
 
                tx_mcpaket_mciban = TEXT
                tx_mcpaket_mciban.data = TSFE:fe_user|sesData|powermail_34|uid321
 
                tx_mcpaket_mcbic= TEXT
                tx_mcpaket_mcbic.data = TSFE:fe_user|sesData|powermail_34|uid322
 

 
        }
}

Dies wirft mir der Debugg modus aus. Die felder waren im Vorfeld alle mit daten gefüllt. Jetzt sind sie leer *grummel*

Main Table fe_users. username F.Green
tx_mcpaket_mcbank
tx_mcpaket_mcblz
tx_mcpaket_mcktnr
tx_mcpaket_mciban
tx_mcpaket_mcbic
MM Table no values or entry already exists

würde mich freuen, wenn mir einer von Euch dabei helfen könnte.

Vielen Dank schon mal für Eure Mühe und Zeit

bashi

o_alemao ·

Habe den Thread noch einmal auf "Ungelöst" gesetzt, da Bashi vor dem gleichen Problem sitzt und mein Lösungsansatz bei ihm nicht funktioniert.