Hallo!
Ich bin gerade dabei, eine Komponente für das Joomla-CMS anzupassen. Und zwar wird dort eine Tabelle mit Mitgliedern ausgegeben, die sich für eine Veranstaltung angemeldet haben. Die einzelnen Spalten (d.h. mit Name, Adresse Telefon etc.) sollen nun aber sortierbar sein. Und das kriege ich überhaupt nicht gebacken. Nachdem ich da jetzt schon wochenlang rumbastle und nicht weiterkomme, wollte ich hier mal nach Hilfe fragen. Ich glaube ja eigentlich, dass die Sache nicht so schwierig sein kann und sich das mit dem "grid.sort" usw. relativ einfach lösen lassen ließe.
Aber wie gesagt, ich komm nicht drauf.
Daher meine Bitte: vielleicht kann mir ja jemand bei der Sache helfen - finanzielle Gegenleistung soll hier ja nicht angeboten werden, aber da würde man sich sicher einig werden.
Ich poste mal den betreffenden Code:
PHP-Code:function sem_g029($uid) {
$database = &JFactory::getDBO();
$config = &JComponentHelper::getParams('com_seminar');
$kurs = new mosseminar( $database );
$kurs->load( $uid );
$database->setQuery( "SELECT a.*, cc.*, a.id AS sid, a.name AS aname, a.email AS aemail FROM #__sembookings AS a LEFT JOIN #__users AS cc ON cc.id = a.userid WHERE a.semid = '$kurs->id' ORDER BY a.id");
$rows = $database->loadObjectList();
HTML_seminar::sem_g029($kurs,$rows,$uid);
}
PHP-Code:Und das hier ist für die HTML-Ausgabe:
function sem_g029($kurs,$rows,$uid) {
global $my;
$config = &JComponentHelper::getParams('com_seminar');
JHTML::_('behavior.modal');
// ---------------------------------------
// Ueberschrift
// ---------------------------------------
$html = sem_f026(2)."\n<table width=\"100%\"><tr><th width=\"90%\" style=\"text-align:left\">".JTEXT::_('SEM_0048').": ".$kurs->title."</th>";
$html .= "<td style=\"text-align: right; white-space: nowrap\">".sem_f038(2,$kurs->id).sem_f038(4,$kurs->id).sem_f038(5,$kurs->id)."</td></tr></table>";
// ---------------------------------------
// Ausgabe der Kurstabelle
// ---------------------------------------
$html .= "\n<table class=\"adminlist\"><thead>";
$temp3 = "<input type=\"checkbox\" name=\"toggle\" value=\"\" onclick=\"checkAll(".count( $rows ).");\" />";
$temp = array($temp3,JTEXT::_('SEM_0059'),JTEXT::_('SEM_2023'),JTEXT::_('SEM_0097'),JTEXT::_('SEM_0052'),JTEXT::_('SEM_0032'));
if( $kurs->fees > 0) {
$temp[] = JTEXT::_('SEM_0065');
}
array_push($temp,JTEXT::_('SEM_2024'),JTEXT::_('SEM_2025'),JTEXT::_('SEM_2026'),JTEXT::_('SEM_2027'),JTEXT::_('SEM_2028'),JTEXT::_('SEM_2029'),JTEXT::_('SEM_2030'),JTEXT::_('SEM_0069'));
$html .= "\n".sem_f024( "th", "", "", $temp, "");
$html .= "</thead><tbody>";
// Schleife fuer die einzelnen Kurse
$n = count($rows);
if( $n > 0 ) {
$k = 0;
$neudatum = sem_f046();
$anzahl = 0;
$i = 0;
foreach ($rows as $row) {
if($row->userid==0) {
$row->name = $row->aname;
$row->email = $row->aemail;
}
$anzahl = $anzahl + $row->nrbooked;
$bild = "2502.png";
$altbild = JTEXT::_('SEM_0030');
if( $anzahl > $kurs->maxpupil ) {
if( $kurs->stopbooking < 1 ) {
$bild = "2501.png";
$altbild = JTEXT::_('SEM_0025');
} else {
$bild = "2500.png";
$altbild = JTEXT::_('SEM_0029');
}
}
$temp = array();
$temp[] = "<input type=\"checkbox\" id=\"cb".$i."\" name=\"cid[]\" value=\"".$row->sid."\" onclick=\"isChecked(this.checked);\" />";
$temp[] = $row->name;
$temp[] = $row->zusatz1;
$temp[] = $row->id;
$temp[] = "<a href=\"mailto:".$row->email."\">".$row->email."</a>";
$temp[] = sem_f047($row->bookingdate,"kurz")." ".sem_f047($row->bookingdate,"zeit");
$tempa = array("c","","","c","c");
if( $kurs->fees > 0) {
$htxt = " ";
if($anzahl<=$kurs->maxpupil) {
$paidbild = "2200.png";
$paidtitel = JTEXT::_('SEM_0064');
if( $row->paid == 1) {
$paidbild = "2201.png";
$paidtitel = JTEXT::_('SEM_0063');
}
$htxt = "<a title=\"".$paidtitel."\" href=\"javascript: void(0)\;\" onclick=\"return listItemTask('cb".$i."','paid')\"><img src=\"".sem_f006().$paidbild."\" border=\"0\" alt=\"".JTEXT::_('SEM_0065')."\"></a>";
}
$temp[] = $htxt;
$tempa[] = "c";
}
$temp[] = $row->zusatz2;
$temp[] = $row->zusatz3;
$temp[] = $row->zusatz4;
$temp[] = $row->zusatz5;
$temp[] = $row->zusatz6;
$temp[] = $row->zusatz7;
$temp[] = $row->zusatz8;
$tempa[] = "c";
$klasse = "row".$k;
$html .= "\n".sem_f024( "td", $tempa, "", $temp, $klasse);
$k = 1 - $k;
$i++;
}
} else {
$html .= "\n<tr class=\"row0\"><td colspan=\"9\">.".JTEXT::_('SEM_0061')."</td></tr>";
}
$html .= "\n</tbody></table>";


LinkBack URL
About LinkBacks
Zitieren


Lesezeichen