¿Cómo crear un tema rápidamente en una vista?

85

Definí una vista con los módulos CCK y View 2. Me gustaría definir rápidamente una plantilla específica para esta vista. ¿Hay algún tutorial o información sobre esto? ¿Cuáles son los archivos que necesito modificar?


Aquí están mis hallazgos: (Editado)

De hecho, hay dos formas de asignar un tema a una vista: la forma de " campo " y la forma de " nodo ". En "Editar vista", puede elegir " Row style: Node" o " Row style: Fields".

  • con la forma " Nodo ", puede crear un nodo-contentname.tpl.php que se llamará para cada nodo en la vista. Tendrá acceso a sus valores de campo cck con $ field_name [0] ['valor']. (edit2) Puede usar node-view-viewname.tpl.php, que solo se llamará para cada nodo que se muestre desde esta vista.
  • con la forma " Campo ", agregas vistas-campo-vista - nombre-vista - nombre-campo-valor.tpl.php para cada campo que quieras tematizar individualmente.

Gracias a las respuestas anteriores, he utilizado las siguientes herramientas:

  • En el bloque 'Configuración básica', el 'Tema: Información' para ver todas las diferentes plantillas que puede modificar.
  • El "Desarrollador de temas" del módulo Devel para encontrar rápidamente los nombres de las variables de campo.
  • Vea la documentación 2 , especialmente la página "Uso del tema" .
Pierre-Jean Coudert
fuente
1
es vistas-campos-vista - nombre-vista - nombre-campo-valor.tpl.php no vistas-campo-vista - nombre-vista - nombre-campo-valor.tpl.php le falta una "s" en el primer campo
Alex Borsody
¿En qué carpeta agregas esto?
Talon
Si hiciste una búsqueda en la página de documentación de vistas, ¡habrías encontrado toda esta información!
Bhavin Joshi

Respuestas:

52

De hecho, hay dos formas de asignar un tema a una vista: la forma de " campo " y la forma de " nodo ". En "Editar vista", puede elegir " Row style: Node" o " Row style: Fields".

  • con la forma " Nodo ", puede crear un nodo-contentname.tpl.php que se llamará para cada nodo en la vista. Tendrá acceso a los valores de su campo cck con $ field_name [0] ['value']
  • con la forma " Campo ", agregas vistas-campo-vista - nombre-vista - nombre-campo-valor.tpl.php para cada campo que quieras tematizar individualmente.

Gracias a las respuestas anteriores, he utilizado las siguientes herramientas:

  • En el bloque 'Configuración básica', el 'Tema: Información' para ver todas las diferentes plantillas que puede modificar.
  • El "Desarrollador de temas" del módulo Devel para encontrar rápidamente los nombres de las variables de campo.
  • Vea la documentación 2 , especialmente la página "Uso del tema" .
Pierre-Jean Coudert
fuente
Tenga en cuenta que en la primera forma, la forma de "nodo", la plantilla que cree probablemente (depende de la configuración del tema) se utilizará para el nodo en sí (se mostrará incluso fuera del nodo).
Strae
Tenga en cuenta que los enlaces en esta respuesta ahora son 404.
Dewayne
22

Una forma rápida de encontrar los archivos de plantilla que puede crear y modificar para una vista en Views 2.0 es:

  1. Edita la vista
  2. Seleccione el estilo (por ejemplo, página, bloque, predeterminado)
  3. En el bloque 'Configuración básica', haga clic en 'Tema: Información' para ver todas las diferentes plantillas que puede modificar.
calebbrown
fuente
16

La función "Desarrollador de temas" del módulo Devel es útil para ver qué archivos de plantilla busca Drupal cuando se trata de un tema. Vea la captura de pantalla en esa página para ver un ejemplo.

Garrett Albright
fuente
10

También debería consultar las vistas semánticas . Para la tematización de vistas simple, es realmente útil.

David Eads
fuente
7

Un consejo:

Es probable que tenga varias vistas que requieran un formato similar. Crear plantillas para cada una de estas vistas y copiarlas crea una pesadilla de ramificación de código: si se le pide que cambie todo el aspecto del sitio (lo que implica cambiar la visualización de cada una de estas vistas formateadas de esta manera en particular), tienes que volver atrás y editar cada uno de estos por separado.

En lugar de usar la interfaz de vistas para seleccionar nuevas plantillas para las vistas, a veces simplemente inserto algunas ramificaciones de código en un solo archivo de vistas. Por ejemplo, para un sitio en views-view-fields.tpl.phptengo:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

Esto luego modifica los campos de la manera que quiero solo para esta familia de Views = articleList, frontList y archiveList, y para otras vistas que usan esta plantilla, se ejecuta el código que normalmente se encuentra en esta plantilla. Si el cliente pregunta, "Oye, ¿podrías hacer que esas páginas que muestran los archivos y esa lista en la página principal se parezcan más a (...)", es simplemente una cuestión de que abra y edite este archivo, en lugar de tres diferentes archivos. El mantenimiento se vuelve mucho más rápido y amigable.

James
fuente
6

para mí bloquear la vista-myViewName-myBlockId.tpl.php- obras

svassr
fuente
4

Mi opción de atajo.

  1. Vaya al archivo theme.inc en la carpeta YOUR_MODULE_DIR/ views / theme / .

  2. En la _views_theme_functionsfunción imprima la variable $ themes o coloque un punto de interrupción en la última línea de la función para ver el contenido de la variable.

Simplemente convierta views_viewa vistas-vista y __ a - y agregue la extensión de su plantilla para obtener el nombre de archivo deseado.

Por ejemplo, si un elemento de la matriz $ themes es views_view__test_view__block (donde test_viewestá el nombre de su vista), entonces el nombre del archivo de plantilla sería views-view - test_view - block.tpl.php .

userp2m3h
fuente
2

En mi opinión, la forma más sencilla de decidir qué archivo de plantilla usar para tematizar las vistas es: 1) Haga clic en admin / build / views / edit / ViewName -> Basic Settings -> Theme

Al hacer clic en esto, se listarán todos los posibles archivos de plantilla. Los archivos resaltados (nombres de archivo en negrita) indican qué archivo de plantilla se está utilizando para hacer el tema qué parte de la vista. Después de incorporar los cambios necesarios en el archivo de plantilla de vista relevante RESCAN .. ahora debería poder ver el archivo de plantilla modificado resaltado.

Sbhambry
fuente
1

Si desea hacer un desarrollo rápido de Drupal con mucho arrastrar y soltar, el módulo Display Suite def. es algo que debes usar: http://drupal.org/project/ds

Karel
fuente
0

Según yo hay dos formas de hacerlo:

Vía programática:

  1. Ir a la vista de edición.
  2. Seleccione el estilo de página / bloque.
  3. Vaya a 'Configuración básica' y haga clic en 'Tema: Información' para ver todas las diferentes plantillas que puede modificar.
  4. Agregue el html que desea para el tema e imprima las variables de la vista donde sea necesario

Actualización de configuración: Usar el conjunto de pantallasel conjunto de pantallas nos brinda una opción para colocar sus etiquetas en línea o arriba y agregarlas incluso para ocultarlas. También se pueden agregar clases personalizadas a cada uno de los elementos de la vista. Las opciones avanzadas incluyen:

  • Exportables
  • Agregue sus propios campos personalizados en el backend o en su código
  • Agregue diseños personalizados en su tema (solo D7)
  • Cambie etiquetas, agregue estilos o anule la configuración de campo (campos semánticos).
  • Integración completa con vistas y paneles
  • Amplíe el poder de sus diseños instalando Field Group
  • Rendimiento óptimo con integración de caché de objetos (D6) o caché de entidades (D7)
carta blanca
fuente