Eliminar una vista a través de código en Drupal 8
Estamos configurando un tipo de contenido, hemos creado la vista que necesitamos para mostrarla, nos damos cuenta que uno de los campos ya no lo necesitamos y lo borramos...
De repente nos damos cuenta que ya no podemos entrar en la vista a través del panel de Drupal... entramos en pánico por tener que volver a rehacer toda la vista. ¿Cómo eliminamos esta vista ahora de Drupal?
Tranquilo, a mi ya me ha pasado unas cuantas veces y aquí te traigo la solución.
Lo único que vamos a necesitar son los módulos Devel y el Devel PHP (que seguramente ya tengas instalados si están desarrollando un proyecto en Drupal).
Pasos para eliminar un display de una vista
- Vamos a situarnos en la pantalla del Devel PHP (/deve/php) y ahí escribiremos la siguiente porción de código:
$view = \Drupal\views\Views::getView('nombre_maquina_vista');
$storage = $view->storage;
$displays = $storage->get('display');
unset($displays['nombre_maquina_display']);
$storage->set('display', $displays);
$storage->save();
- Sustituímos en el código anterior los valores "nombre_maquina_vista" y "nombre_maquina_display" por los nombres de la vista y del display que queremos eliminar.
- Pulsamos el botón Ejecutar
Qué hace este código
El código anterior obtiene todos los displays de la vista seleccionada para, posteriormente, eliminar el display indicado y guardar los cambios.
INFO: El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error visita nuestro formulario de contacto.