501 Nachrichten unter 141 Themen von 115 Mitgliedern
[SilverStripe Roadmap][Changelog]

Filter

Seite: 1 873 mal gelesen
  • Stief
    Stief Community Member
    31 Beiträge

    Filter

    Hallo,

    mache gerade einen Filter. aufgrund des ausgewählten Labels sollten nur Autos angezeigt werden die diesem Typ entsprechen.
    Habe im Controller folgende Funktion:

    Ich erstelle ein Dropdown das die Werte "Alle", "Ferrari" und "Jeep" beinhaltet.
    Dieses Dropdown zeige ich im Frontend durch $SearchFilterForm an.

    public function SearchFilterForm() {
    $fields = new FieldList(
    new DropdownField('Label', 'Label:', array(   
        'NULL' => 'Alle', 'Ferrari' => 'Ferrari', 'Jeep' => 'Jeep'
    )));

    $actions = new FieldList(
    new FormAction('filterCars', 'Filter Liste')
    );   
       
        return new Form($this, '', $fields, $actions);
    }


    Wenn ich den Bestätigungsbutton klicke sollte folgende Funktion ausgefuehrt werden:

    function filterCars($data, $form) {
       
        $Label = $data['Label'];

    if ($Label != NULL) {
    $filters = "Label = '$Label'";
    }

    $cars = DataObject::get('Car', $filters);

    return $this->customize(array('cars' => $cars))->renderWith(array('Page'));
    }

    Aufgrund des ausgewählten Labels Filtere ich die Daten und gebe nur die Autos zurueck die vom asugewählten Label der Dropdown sind.

    Anschliessend zeige ich alle Autos ueber das Control an:
    <% control cars %>
    <li><a href="$Link">$Label</a></li>s
    <% end_control %>

    Die Drop down zeigt es mir an.
    Allerdings erscheinen Keine Autos in der Egebnis Liste.

    Könnte mir bitte jemand weiterhelfen :)
    danke
    gruesse
  • Stief
    Stief Community Member
    31 Beiträge

    Re: Filter

    Weiss jemand was falsch ist?
    danke

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: CharlesPiora