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.

¿Fue útil?

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 .

En Drupal 8

enter image description here

La plantilla de campos sería:

Views-View-Fields-[View-Name]-Block-1.html.twig

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

https://www.drupal.org/node/346602

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a drupal.stackexchange
scroll top