Frage

ist es eine Möglichkeit, keine Ergebnisse zunächst angezeigt, bis das Formular abgeschickt wurde?

Auch ich kann nicht sehen, wo ich die freigelegte Form außer Kraft setzen kann

War es hilfreich?

Lösung

Wie @googletorp erwähnt, können Sie die belichten Form außer Kraft setzen mit hook_form_alter() : ein paar Beispiele in anderen Fragen prüfen, um eine Vorstellung davon zu bekommen, wie es funktioniert:

ein leeres Formular anzuzeigen, wenn der Benutzer das freiliegende Formular ausfüllt, können Sie hook_views_query_alter() in einem benutzerdefinierten Modul:

function test_views_query_alter(&$view, &$query) {
  $filter_set = FALSE;

  foreach ($view->filter as $filter) {
    // Check if we've found a filter identifier that is set
    if ($filter->options['exposed'] && array_key_exists($filter->options['expose']['identifier'], $_GET)) {
      $filter_set = TRUE;
      break;
    }
  }

  // If the filter isn't set, add a WHERE clause to the query that
  // cannot be TRUE. This ensures the view returns no results.
  if (!$filter_set) {
    $query->add_where(0, 'FALSE');
  }
}

Andere Tipps

Sie können das Formular mit hook_form_alter in einem benutzerdefinierten Modul außer Kraft setzen.

Ich glaube nicht, gibt es eine Option in den Ansichten UI nichts vor der Auswahl angezeigt werden soll. In Ihrem Thema können Sie überprüfen, ob es eine Auswahl ist, und die Ergebnisse verstecken, wenn nötig.

Sie können einen Standard-Filtersatz (zwischen den belichteten sind) mit einem Vergleich, der immer falsch ist.

Wenn ein Filter in den freigelegten Filtereinstellungen optional gemacht wird, soll die Sicht nach wie vor die Ergebnisse angezeigt werden ...

In Exposed Form Section den Stil Exposed Form ändern von basic zu input required

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top