[gelöst] Signup: Additional Signup Info

am 22.09.2011 - 07:29 Uhr in
Hallo,
vielleicht hatte schon jemand ähnliches Problem.
Ich versuche in den Views "signup_user_admin_list" und "signup_user_list" benutzerdefinierte Felder wie Vorname, Telefon, Adresse auszugeben.
Es gibt dort die Möglichkeit, mit Hilfe des Feldes "Additional Signup Info (Additional info) " unter Angabe des Feldes, sich die benutzerdefinierten Felder ausgeben zu lassen.
Leider gibt der View hier jedoch nichts zurück, bzw. die Felder lassen sich im View nicht speichern.
Gibt es hier bereits ein Workarround zu?
Danke und Viele Grüße,
Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
Dirty QuickFix... bis es im Signup-Modul gefixt ist
am 22.09.2011 - 14:03 Uhr
Hallo,
so wie es aussieht, scheint das noch nicht gefixt zu sein.
Anbei mein Quick-Fix als Basic Page. Die benutzerdefinierten Felder müssen natürlich entsprechend angepasst werden und auch die Sortierung fehlt.
Wichtig: Damit dieser QuckFix zu keiner Datenschleuder wird, sollte die erstellte Basic Page unter keinen Umständen veröffentlicht werden (entsprechendes Häckchen raus)!
<?php
$result = db_select('signup','s')
->fields('s',array('nid'))
->execute();
echo '<br>';
echo '<p>Wählen Sie bitte eine Veranstaltung aus der Liste, um sich die Anmeldungen anzeigen zu lassen.</p><br>';
echo '<form action="" method="get">';
echo '<h2>Veranstaltungen</h2>';
echo '<select name="event" size="5">';
foreach($result as $row)
{
$result_node = db_select('node','n')
->fields('n',array('nid','title'))
->condition('n.nid',$row->nid,'=')
->execute()
->fetchAssoc();
if($_GET['event'] == $row->nid)
{
$selected = ' selected ';
$selectedTitle = $result_node["title"];
}
else
{
$selected = '';
}
echo '<option'.$selected.' value="'.$row->nid.'">'.$result_node["title"].'</option>';
}
echo "</select>";
echo '<br><br>';
echo '<input type="submit" value=" Anmeldungen anzeigen ">';
echo "</form>";
if($_GET["event"])
{
$selectedEvent = (int)$_GET["event"];
$result_events = db_select('signup_log','l')
->fields('l',array('anon_mail','form_data'))
->condition('l.nid',$selectedEvent,'=')
->execute();
echo '<br>';
echo '<h2>Anmeldungen zur Veranstaltung<br>'.$selectedTitle.'</h2><br>';
echo '<table>';
echo '<tr><td>Nachname:</td><th>Vorname:</th><th>Organisation:</th><th>Adresse:</th><th>Telefon:</th><th>E-Mail-Adresse:</th></tr>';
$countSignups = 0;
foreach($result_events as $ev)
{
$formData = unserialize($ev->form_data);
echo '<tr>';
$countValues = 0;
foreach($formData as $key)
{
if($countValues == 3 || $countValues == 4 || $countValues == 5 || $countValues == 7)
{
if($countValues == 3)
{
echo '<td>'.$key.'<br>';
}
if($countValues == 4)
{
echo $key.' ';
}
if($countValues == 5)
{
echo $key.'</td>';
}
}
else
{
echo '<td>'.$key.'</td>';
}
$countValues++;
}
echo '<td>'.$ev->anon_mail.'</td>';
echo '</tr>';
$countSignups++;
}
echo '</table>';
if($countSignups == 0)
{
$countSignups = 'keine';
}
echo '<i>Bisher gab es '.$countSignups.' Anmeldungen für dieser Veranstaltung.</i>';
}
?>