+ Antworten
Ergebnis 1 bis 1 von 1

Thema: Text von Selectbox mit mehreren Werten

  1. #1
    5ky
    5ky ist offline
    Neu an Board
    Registriert seit
    26.07.2010
    Beiträge
    48
    Bedankte sich
    5
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard Text von Selectbox mit mehreren Werten

    Hey,

    ich generiere meine DropDown-Boxen mit folgendem Code:
    HTML-Code:
    $lists['test_id'] = JHTML::_('select.genericlist', $testlist, 'test_id', 'class="dropdown" size="1" ', 'id', 'feld1', intval( $query->test_id ) );
    Soweit so gut. Das vorletzte Feld 'test' holt aus meinem Array den entsprechenden Wert und zeigt diesen ja in meiner Liste an.

    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:
    HTML-Code:
    $this->setState('filter_order', $application->getUserStateFromRequest($application->get('Scope').'locations'.'filter_order', 'filter_order', 'e.location', 'cmd'));
    Funktioniert auch soweit. Nur würde ich als ERSTER Sortierkriterium z.b. c.countries und als ZWEITES Sortierkriterium erst e.locations verwenden.
    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:
    Code:
    // Kombiniertes Feld ins Array eintragen
    $n = count($test);
    for ($c=0; $c < $n; $c++) {
        $test[$c]->combined = $test[$c]->feld1.' ' .$test[$c]->feld2;
    }
    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.

    Lösung Thema 2:
    Code:
    // Standardsortierung
    if ( !$ordering' ) {
        $ordering = ' ORDER BY c.country, e.location ASC';
    }
    Diese Abfrage setzte ich im Model in der _buildQuery-Funktion, gleich nach der $ordering = $this->_getOrdering();
    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.
    Geändert von 5ky (28.09.2010 um 21:30 Uhr)

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein