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.


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.


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);
}

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.