Hi Leute,
ich habe per eigener .class Werte aus einer DB auslesen lassen. Diese möchte ich als Dropdown-Liste im Mailformplus über einen Marker anzeigen lassen.
PHP
fileadmin/scripts/user_eventitle.php
<?
class user_eventitle {
var $cObj;// The backReference to the mother cObj object set at call time
function main($content,$conf){
$eventTitle = Array();
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery("uid, subject, date, detaillink", "tx_activitycal_event", "", "", "date ASC", $limit);
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
if( !in_array($row['subject'], $eventTitle ) ){
$eventTitle[] .= $row['subject'];
$evenTitleValue = str_replace(' ', '_', $row['subject']);
$titles .= '<option id="'. $row['detaillink'] .'" value="'. $evenTitleValue .'" ###selected_veranstaltung_'. $evenTitleValue .'###>'. $row['subject'] .'</option>';
}
}
$content .= $titles;
return $content;
}
}
?>
TS
includeLibs.user_eventitle = fileadmin/scripts/user_eventitle.php
temp.VERANSTALTUNGEN2 = USER_INT
temp.VERANSTALTUNGEN2.userFunc = user_eventitle->main
plugin.tx_thmailformplus_pi1.predef.veranstaltungen2.fieldConf.veranstaltung.errorCheck = required
plugin.tx_thmailformplus_pi1.predef.veranstaltungen2.markers.veranstaltungen < temp.VERANSTALTUNGEN2
TEMPLATE
...
###error_veranstaltung###
<select tabindex="0" id="veranstaltung" name="veranstaltung" class="anfrage-input anfrage-select">
<option value="" id="" name=""></option>
###veranstaltungen###
</select>
...
Das ganze funktioniert wunderbar. Was nicht funktioniert ist wenn ich das Formular nicht vollständig ausgefüllt versuche abzusenden, sollte ja der ausgewählte Wert vom Dropdownmenü vorausgewählt bleiben. Tut es aber nicht.
Der Marker: ###selected_veranstaltung_...### wird nicht ersetzt. Man kann ihn im Quelltext sehen.
Was muss ich also tun, dass dieser Marker, der von einer externen PHP-Class erzeugt wird, von Mailformplus benützt bzw. gelesen werden kann?
Danke schon mal
Gruss Blumentopf