Crear archivo de plantilla para el bloque de vistas
Pregunta
Hay mucho sobre temas de bloques personalizados, pero ¿qué pasa con los bloques creados por las vistas?
Mi bloque de vistas tiene ID: bloqueo de vistas de bloqueo de bloques, bloqueo, bloqueo,
Intento muchas maneras de nombrar el archivo de plantilla, ex: block-bloque-views-poss-listing-block.tpl.php, pero no puedo encontrar el nombre de archivo correcto.
Solución
Edite su vista. y debajo de la configuración "avanzada" de los detalles de su bloque, haga clic en "Theme: Information"
. Se mostrará una lista de opciones de archivos de plantilla.
Por ejemplo, si su bloque tiene un nombre "Listado de publicaciones", consulte los posibles nombres enumerados por la opción "Información del tema":
* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php
por ejemplo: tu bloque tiene el nombre Listado de publicaciones, y tiene estilo sin formato, luego "información del tema" sugiere el nombre views-view-unformatted--posts-listing--block.tpl.php
(Este es solo uno de varios nombres). puedes copiar el original views-view-unformatted.tpl.php
Archivo de plantilla (ubicado en/módulos/vistas/tema) a su directorio de tema actual, y cambie el nombre de este archivo con el nombre sugerido:views-view-unformatted--posts-listing--block.tpl.php
. Luego realice los cambios dentro de su archivo de plantilla. Si esta plantilla no permite hacer sus cambios deseados, busque otras plantillas de acuerdo con sus necesidades.
Al final, si agrega una nueva plantilla, la lista de archivos de plantilla de rescan:
¡Importante! Al agregar, eliminar o cambiar el nombre de los archivos de plantilla, es necesario hacer que Drupal consciente de los cambios haciendo que vuelva a rescatar los archivos en su sistema. Al hacer clic en el botón "Archivos de plantilla de rescan", borrará el registro de temas de Drupal y, por lo tanto, desencadena este proceso de rescanning. Las plantillas resaltadas (en su lista de plantillas anteriores "Archivos de plantilla de rescan") reflejarán el nuevo estado de su sistema.
También módulo de desarrollador de temas http://drupal.org/project/devel_themer sugerido por Oswald podría ser útil para detectar posibles plantillas/s para cambiar elementos específicos de acuerdo con sus criterios. No recomiendo este módulo habilitado en los entornos de producciones (en mi caso, incluso he deshabilitado el módulo en los entornos de prueba, porque parece tener conflictos con las opiniones, pero cuando ha sido necesario, ha sido muy útil)
Otros consejos
Para aquellos que buscan la respuesta en D7, de acuerdo con el desarrollador de temas (también conocido como Devel_Themer), puede crear una anulación de TPL para el bloque de una vista utilizando la convención:
Bloque-Vistas-{View's Machine_Name}-bloquear
Por lo tanto, en el ejemplo, le dará
Bloque-Vistas- post-listos -block.tpl.php
Sin los espacios (no pude editar esto correctamente para permitir que todo esté en línea.
Al final de media hora cambiando los nombres de TPL, esta es mi conclusión final:
block--views--[view-name]-[display-name].tpl.php
View-Name]-La parte [Display-Name] se puede encontrar como se dijo Notxt o unirse con un '-' el nombre de identificación de la vista y el nombre de identificación de la pantalla de vista, el bloqueo al final no es correcto .
block--views--[view-name]-[display-name].tpl.php
debe cambiarse ablock--views--[view-name]-[machinename].tpl.php
.
Encontrará el nombre de la máquina de su sección avanzada de vistas donde se escribe otros
¡Los patrones de nombre de archivo describen anteriormente funcionan a menos que su nombre de vista + nombre de pantalla sea más largo que una cierta cantidad de caracteres! Me atrapó esto y no pude encontrar por qué un archivo de plantilla que termina en ...block.tpl.php
estaba funcionando y la siguiente pantalla ...block-1.tpl.php
no estaba funcionando.
Resulta que las vistas reemplazan el nombre de la máquina con un hash MD5 si el nombre es demasiado largo. Si desea estar seguro del nombre de la plantilla que debería usar, agregue $conf['theme_debug'] = TRUE;
En su configuración.php y luego mire la fuente de la página. Si encuentras algo como block--views--d131dd02c5e6eec4
.... será mejor que acortes el nombre de la máquina de la vista (si te manejas a eso ... no es el nombre legible por humanos). O de lo contrario, debe usar un archivo de plantilla con ese nombre tonto.
ver también
Vista El nombre de la máquina de Block está siendo "hash" (?)
y
Revise esta página https://www.drupal.org/node/1089656, e información sobre los subrayadores que Views usa:
También un ejemplo más con las vistas, si tiene un bloque creado por vistas con un nombre de vista "front_news" y la identificación de la pantalla "block_1", entonces la sugerencia de gancho del tema sería: block-vistas-front-news-block-1. tpl.php (Observe, cuando tiene subrayos en una ID de pantalla o en un nombre de vista: debe transformarlos en un solo tablero)
Para los bloques dentro de los paneles de panel, la solución proporcionada por NotXT y otras no funciona. La sintaxis sería entonces (¡sin subrayadores!):
panels-pane-block--views-[view-name]-[display-machine-name].tpl.php
Gracias a User3074436 por proporcionar la configuración de $ conf ['theme_debug'] para descubrir este caso excepcional sobre el tema.
Está en D7> = 7.33 Puede mostrar thema_suggestion directamente en la página como comentarios HTML usando:
en settings.php
$conf['theme_debug'] = TRUE;
Aquí está la documentación completahttps://www.drupal.org/docs/7/theming/overrididing-themable-output/working-with-template-suggestions