TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

calendar Base Event mit Powermail verknüpfen


Autor Nachricht
Verfasst am: 03. 02. 2009 [14:40]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo,

ich will cal mit powermail verknüpfen.
Dazu sollen von einem ausgewählten event der Titel, das Datum und ein paar Adressdaten ins powermail formular übertragen werden.

so, Titel und Datum geht ja (fast) einfach:

TYPOSCRIPT
plugin.tx_powermail_pi1 {
        prefill{
 
#### Seminartitel aus cal event übernehmen
uid239 = COA
uid239.10 = RECORDS
uid239.10 {
    wrap =|
    source.data = GPvar:tx_cal_controller|uid
    tables = tx_cal_event
    conf.tx_cal_event = TEXT
    conf.tx_cal_event.field = title
  }
 
#### Seminardatum u Zeit aus cal event übernehmen
uid240 = COA
uid240.10 = RECORDS
uid240.10 {
    wrap =|
    source.data = GPvar:tx_cal_controller|uid
    tables = tx_cal_event
    conf.tx_cal_event = TEXT
    conf.tx_cal_event.field = start_date
  }
uid240.20 = RECORDS
uid240.20 {
    wrap =|
    source.data = GPvar:tx_cal_controller|uid
    tables = tx_cal_event
    conf.tx_cal_event = TEXT
    conf.tx_cal_event.field = start_time
  }

Aber bei der Adresse wirds interessant bzw. - da finde ich keine Lösung, denn:
im selektierten Datensatz von tx_cal_event steht nur die uid des tt_address satzes ( = location_id).

Ich müsste also ein select per join etc absetzen, aber wie krieg ich das auf das formularelement?

Grüsse, Kurt




OS X | T3 4.5
Profil
Verfasst am: 03. 02. 2009 [14:48]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Im Notfall mit einer Mini userFunc - sollte aber auch mit TS machbar sein (auch wenn ich gerade nicht weiß wie)

ProfilWWW
Verfasst am: 03. 02. 2009 [16:23]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Mini userFunc ok,

abe rlass uns mal vorab was klären:

Wo muß eine userFunction heute exakt liegen?

Wenn ich es z.B. mit includeLibs.meine_id = fileadmin/meineuserfunktion.php probiere, passiert nix.

Erst wenn ich die function in dieses Verzeichnis lege, tut sich was:

typo3/sysext/cms/tslib/media/scripts/

Gibt es irgendwelche Sicherheitsbedenken oder Systemeinstellungen, die ich nicht kenne?

Grüsse
Kurt

OS X | T3 4.5
Profil
Verfasst am: 03. 02. 2009 [16:34]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Selbstverständlich kann eine userFunc auch unter fileadmin liegen - wie ist dein TS? includeLibs?

ProfilWWW
Verfasst am: 03. 02. 2009 [18:49]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo Alex,

einen Teil der Lösung habe ich schon.

1. das mit dem includeLib war mein Fehler (irgendwo ein Buchstabendreher ...)

2. die userfunc sieht jetzt so aus:

PHP
<?
class user_caleventuidtottaddress {
var $cObj;// The backReference to the mother cObj object set at call time
/**
routine holt per tx_cal_event|uid den zugehörigen tt_address satz
kurt knote, 01 2009
**/
function main($content,$conf){
 
$select='tt_address.uid, tt_address.name, tt_address.phone, tt_address.address, tt_address.zip, tt_address.city';
$from='tt_address INNER JOIN tx_cal_event';
$where='tx_cal_event.uid=128 AND tt_address.uid=tx_cal_event.location_id';
 
$res = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows($select, $from, $where);
 
$content.=$res[0][name].', '.$res[0][address].', '.$res[0][zip].' '.$res[0][city].', '.$res[0][phone];
 
return $content;
}
}
?>


Jetzt fehlt mir nur noch das Auslesen der txcalevent-uid ( oben ist dafür einfach die 128 eingesetzt!).
Da habe ich wieder mal keinen Schimmer, da ich ein verschachteltes Array auslesen muß!

so sieht das Array aus:

PHP
Array
(
    [tx_cal_controller] => Array
        (
            [getdate] => 20080501
            [view] => event
            [lastview] => month-1617|list-1624
            [type] => tx_cal_phpicalendar
            [uid] => 128
        )
    [cHash] => f08864def4
)


so, die Frage ist also was muß in der Klammer stehen, um an die uid zu kommen?

PHP
$event_uid = t3lib_div::_GET(          );


Grüsse Kurt

OS X | T3 4.5
Profil
Verfasst am: 04. 02. 2009 [14:06]
typomik
Themenersteller
Dabei seit: 09.08.2004
Beiträge: 43
Hallo,

ich habs endlich rausgefunden, wie ich zur uid in der verschachtelten url komme:

PHP
foreach($_GET['tx_cal_controller'] as $parameter => $wert) { // für alle $_GET[$parameter]=$wert
if($parameter == "uid&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" /> {$event_uid = $wert;}
};


grüsse, Kurt

PS: ich habe übrigens auch das Auslesen von Datum und Zeit per PHP gelöst, da CAL speziell das Datum seltsamerweise als String ablegt!

OS X | T3 4.5
Profil
Verfasst am: 06. 06. 2009 [20:26]
Maximus
Dabei seit: 06.06.2009
Beiträge: 6
typomik schrieb:

so, Titel und Datum geht ja (fast) einfach:


Hallo Kurt,
genau dieses Problem bekomme ich nicht in den Griff?!

Ich habe versucht die Daten des aktuellen Events auszulesen,
jedoch ohne erfolgt. Ich verwende dabei als Kalender-Extension
Extendet Calendar.

Ich habe das Powermail-Formular in das Eventformular des Kalenders angefügt.
Somit sollte ich den direkten Zugriff auf die uid des aktuellen Events haben.
Die Userdaten werden angezeigt.

Der url-Eintrag sieht wie folgt aus: .../index.php?id=227&tx_calendar_pi1[f1]=3&cHash=9a586a51e5

plugin.tx_powermail_pi1 {
prefill {
uid23 = COA
uid23.10 = RECORDS
uid23.10 {
wrap =|
source.data = GPvar:tx_calendar_pi1|uid
tables = tx_calendar_item
conf.tx_calendar_item = TEXT
conf.tx_calendar_item.field = title
}
}
}


Es wird einfach garnichts angezeigt icon_frown.gif

Habe ich irgendwas übersehen?
Sind sonst noch Einstellungen in Typo3 notwendig?

Gruß
Max

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 06.06.2009 um 20:27.]
Profil
Verfasst am: 06. 06. 2009 [21:13]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Hi Max,

vielleicht hilft dir dieser Beitrag weiter:
http://www.typo3.net/forum/list/list_post//87081/

Grüße, Alex

ProfilWWW
Verfasst am: 06. 06. 2009 [21:53]
Maximus
Dabei seit: 06.06.2009
Beiträge: 6
Hallo Alex,
diesen Tipp hatte ich schon gelesen, danke.
Da ich schon auf der Eventseite bin, möchte ich den
User die Möglichkeit geben, sich genau für dieses Event anzumelden.
Also ist da eine Auswahlliste nicht das was ich suche.

Irgendwie verstehe ich das auch nicht so richtig.
Ich habe sämtliche Daten auf der Seite (Even und Userdaten).
Ich möchte nur noch die Eventdaten in die Anmelde-Mail übertragen.

Daher war dieses Beispiel genau das, was ich gesucht habe.
Leider funktioniert das nicht, keine Ahnung warum banghead.gif

Ich habe schon versucht, systematisch an das Problem heran zu gehen.
So kann ich noch nicht einmal die Parameter auslesen:

TYPOSCRIPT
plugin.tx_powermail_pi1 {	
	prefill {		
uid23 = TEXT
uid23.data= GPvar:var
 }
}


Das gibt mir schon mal zu denken.

Übrigens, Dein Tipp funktioniert.
Ich erhalte nun eine Liste sämtlicher Events aus dem Kalender (tx_calendar_item).
Nur ist das nicht das was ich umsetzen möchte...

Gruß
Max

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 06.06.2009 um 21:54.]
Profil
Verfasst am: 06. 06. 2009 [22:51]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Ich weiß das es funktioniert, müsste es aber auch erst selbst ausprobieren...

ProfilWWW