Wie lösche ich eine Ansicht programmgesteuert in D7?

8

Wie lösche ich eine Ansicht programmgesteuert?

Es ist verrückt, dass ich auf eine so einfache Frage keine richtige Antwort finden kann.

David
quelle

Antworten:

5

Views hat eine Funktion namens views_delete_view, die ein Ansichtsobjekt als Parameter verwendet. Versuchen Sie views_delete_view ($ yourloaded_view), das sollte den Trick machen.

Jance
quelle
13

Versuchen Sie den folgenden Code, um die Ansicht zu löschen:

// Check the view id the one that you are looking for.
if ($view = views_get_view($name)) {
  // Delete the view if it is the one that you are looking for.
  views_delete_view($view);
}
Ankit Agrawal
quelle
Vielen Dank. Jeder kann erklären, warum ich diese Syntax verwenden muss: $ view-> delete (); ? Darüber befindet sich bereits die Funktion views_delete_view ($ view), die (wie @Jance sagte) den Trick machen sollte.
David
1
Das tust du nicht. Verwenden Sie einfach die ersten beiden Zeilen bis views_delete_view. Diese Antwort ist weitaus ausführlicher als nötig: views_delete_viewAufrufe $view->delete();und dann führt die deleteMethode die Cache-Ungültigmachung durch.
@chx Danke für die Korrektur. Ich habe die Antwort aktualisiert. @ David Bitte ignorieren Sie die $view->delete();, falls erforderlich, können Sie die Antwort jetzt überprüfen.
Ankit Agrawal