Einbetten einer Ansicht mit AJAX
Ich habe eine view mit einem argument, und eine Reihe von exponierten filtern. Wenn der Benutzer den Filter der view, die das Formular gesendet wird, die mit Ajax, und die Filter werden an die url angehängt über location.hash.
Mein Ziel ist es, filtern Sie die Ansicht auf die erste Seite zu laden, wenn der Filter in der Lage.hash.
Derzeit bin ich be-der Blick durch eine Ajax-callback funktioniert perfekt in Ordnung. Aber das große problem ist, dass Ajax für die Ansicht nicht funktioniert.
Dies ist der callback für das laden der Ansicht.
//Load the view object.
$view = views_get_view('taxonomy_term');
$view->set_display('page');
$view->set_use_ajax(TRUE);
//Pass the current tid as the argument.
$view->set_arguments(array($tid));
//Set the current page.
$view->set_current_page($page);
//Set the exposed filters.
$view->get_exposed_input();
//Execute.
return $view->execute_display();
Wenn ich navigieren direkt zu diesem Rückruf, alles funktioniert. Aber nicht, wenn ich Sie laden durch Ajax.
Irgendwelche Ideen?
Update:
Es scheint, dass Drupal.Verhaltensweisen.ViewsAjaxView() nicht ausgeführt aus irgendeinem Grund. Wenn ich führen Sie es manuell aus, funktioniert alles.
InformationsquelleAutor Olof Johansson | 2011-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, so habe ich die Antwort gefunden.
Anstelle des Ladens der Blick aus meinem eigenen callback, ich bin jetzt be-der Blick von der regelmäßigen ajax-callback.
Auf meiner Seite, ich erstelle den view-Objekt, und fügen Sie die Konfiguration für Drupal.Einstellungen.
Dann lade ich meine js, das fügt den aktuellen filter aus dem Ort.hash an den Einstellungen. Und schließlich lädt die Ansicht.
Diese Weise die Sicht Belastungen durch den regelmäßigen Fluss, und alles funktioniert wie erwartet =)
InformationsquelleAutor Olof Johansson