Cómo nombrar vistas-expuestas-form.tpl.php por visualización de vistas

8

Lo intenté views-exposed-form--"view_name"--"display_name".tpl.phppero no funciona. ¿Es posible crear un archivo de plantilla que se aplique solo al filtro expuesto de una visualización de vistas?

Tengo dos filtros expuestos de dos pantallas diferentes dentro de una misma vista, y me gustaría asignar un tema a los dos filtros expuestos de manera diferente por dos archivos de plantilla.

chinita7
fuente
No. Lo estoy intentando. Pero no está funcionando.
Esto no es realmente una respuesta a la pregunta. ¿Quizás sería mejor volver a hacer la pregunta y explicar cómo y por qué la solución existente no funciona para usted?
Neograph734
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran una aclaración del autor de la pregunta . - De la opinión
Shawn Conn

Respuestas:

2

Todo es posible en Drupal;)

Probablemente Vistas no proporciona automáticamente sugerencias de plantilla para el filtro expuesto, como lo hace para los campos en sí. Entonces necesitarás hacer un poco más de trabajo para este:

  1. Use el módulo devel_themer para averiguar qué función / plantilla está creando ese filtro expuesto.
  2. Cree un preprocesador para esa función / plantilla de tema. En su preprocesador, puede insertar sugerencias de plantillas dinámicas que se activarán en función de cualquier condición que desee. Puede crear este preprocesador en el archivo template.php de su tema personalizado o en uno de sus módulos personalizados. Este artículo de DO lo guiará para crear la sugerencia de plantilla dinámica.

Asumiré que va a mostrar diferentes pantallas de visualización basadas en una ruta URL. Si este fuera el caso, puede usar la arg()función de Drupal en su preprocesador para descubrir cuál es la pantalla de visualización que está mostrando actualmente y construir su sugerencia de plantilla utilizando esa información.

Una vez que haya configurado sus sugerencias correctamente, Drupal llamará automáticamente a la plantilla adecuada y listo, tendrá diferentes plantillas de filtro en función de la ruta (o cualquier otra condición que especifique en su preprocesador).

barista aficionado
fuente
25

Para Drupal 7, puede usar vistas-expuestas-forma - nombre_vista - nombre_disposición.tpl.php (Reemplace los guiones bajos con guiones en el nombre de la vista y el nombre para mostrar).

Funcionó para mí de esa manera.

milkovsky
fuente
Esto funcionó de mí. Aquí hay un ejemplo de mi nombre de plantilla de formulario expuesto: views-expuestos-formulario - trunk_shows - panel-pane-1.tpl.php
albertski
A pesar de que sus vistas-expuesta-forma - view_name - display_name.tpl.php pueden no aparecer en la lista cuando hace esto, al agregar su nuevo archivo de plantilla también debe editar la vista, haga clic en Avanzado-> Otro-> Tema -> Información, y luego haga clic en el botón Volver a analizar archivos de plantilla.
kbrinner
No necesita el nombre para mostrar, si no necesita ser tan específico. Para mi vista de bloque, "Vista de eventos", nombrar mi archivo de plantilla "vistas-expuestas-forma - eventos-vista.tpl.php" funcionó para mí. Gracias @kaimlaluno. Probablemente esta debería ser la respuesta aceptada.
ProGrammar
3

en drupal8

/ admin / structure / views / view / event_related

sería

vistas-expuestas-forma - event_related.html.twig

Matoeil
fuente
1

Para drupal 8, el modo de depuración de tema no muestra las sugerencias de plantilla disponibles. Puede averiguar cuáles están disponibles con kint () o crear nuevos en este enlace:

/**
 * Implements template_theme_suggestions_node_HOOK_alter().
 * Add theme suggestions to the view exposed forms.
 */
function YOUR_THEME_theme_suggestions_views_exposed_form_alter(&$suggestions, $vars, $hook) {
  kint($vars['form']['#theme']);
  //$suggestions[] = 'views__exposed__form__' . $anything; 
}
Interdruper
fuente