Hey,
ich generiere meine DropDown-Boxen mit folgendem Code:
Soweit so gut. Das vorletzte Feld 'test' holt aus meinem Array den entsprechenden Wert und zeigt diesen ja in meiner Liste an.HTML-Code:$lists['test_id'] = JHTML::_('select.genericlist', $testlist, 'test_id', 'class="dropdown" size="1" ', 'id', 'feld1', intval( $query->test_id ) );
Nun würde ich aber gerne einen 2. oder 3. Wert ANZEIGEN lassen. Die Position mit 'feld1'.'feld2' zu erweitern klappt leider nicht dann zeigt er mir gar nix mehr an. Auch kann ich hier leider keine festen Anzeigewerte z.B. 'MeinTest' eintragen, da er offensichtlich auf ein Feld des Arrays zugreifen MUSS.
Im Array sind die Felder natürlich vorhanden. Ich hätte also gerne ein DropDown-Feld welches mir Werte z.B. "Feld1, Feld2" anzeigt. Dass natürlich nur eine ID übergeben wird ist logisch. Nur kann ich in meinem Beispiel mit einem Feld wenig anfangen.
MfG
5ky
PS:
Ähnliches Problem hab ich mit meiner Sortierung. Ich würde gerne eine Standard Sortierung einstellen. Dies bewerkstellige ich im Model mit:
Funktioniert auch soweit. Nur würde ich als ERSTER Sortierkriterium z.b. c.countries und als ZWEITES Sortierkriterium erst e.locations verwenden.HTML-Code:$this->setState('filter_order', $application->getUserStateFromRequest($application->get('Scope').'locations'.'filter_order', 'filter_order', 'e.location', 'cmd'));
Kann es sein dass ich hier die Joomla eigenen Funktionen gar nicht verwenden kann und meine eigenen zusammenbasteln muss?
PSS: Für die Nachwelt:
Lösung Thema 1:
Diese Zeile habe ich vor der Generierung des DropDown-Feldes in der view.html.php eingetragen. Im Array setzte ich einen neuen Wert COMBINED, welchen ich als Anzeigewert in der DropDown-Box einsetzte.Code:// Kombiniertes Feld ins Array eintragen $n = count($test); for ($c=0; $c < $n; $c++) { $test[$c]->combined = $test[$c]->feld1.' ' .$test[$c]->feld2; }
Lösung Thema 2:
Diese Abfrage setzte ich im Model in der _buildQuery-Funktion, gleich nach der $ordering = $this->_getOrdering();Code:// Standardsortierung if ( !$ordering' ) { $ordering = ' ORDER BY c.country, e.location ASC'; }
Zusätzlich entferne ich 'e.location' im Model und in der view.html.php und schreibe nur noch einen '' Leerstring. Dieser wird ja in der buildQuery abgefragt und dem ordering werden meine beiden Werte eingefügt.
Und siehe da, alles wunderbaaar.
Vielen dank an Matrikular, welcher mir mal wieder wertvolle Hinweise und Tips gab.


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen