En Drupal 7, he creado una Vista que enumera varios campos. Los campos se agrupan por otro campo (el término ID del campo). El marcado se ve así:
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
Sin embargo, necesito la marca para que se vea así:
<div id="term_1">
<h3>[Term 1]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_2">
<h3>[Term 2]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
<div id="term_3">
<h3>[Term 3]</h3>
<div class="views-row views-row-1 views-row-odd views-row-first"> [Field Content] </div>
<div class="views-row views-row-2 views-row-even"> [Field Content] </div>
<div class="views-row views-row-3 views-row-odd views-row-last"> [Field Content] </div>
</div>
Sé que puede usar views-view-unformatted.tpl.php (Style Output) para anular la vista y luego insertar un DIV para envolver el grupo.
Sin embargo, necesito que mi envoltorio DIV sea así <div id="term_ID_{number of ID}">
. La identificación del número corresponderá al término que se ha utilizado para agrupar los campos. De manera predeterminada, si usa views-view-unformatted.tpl.php, no puede insertar tokens para ID de término en él.
Cualquier ayuda sería apreciada.
tpl
archivo, vea la respuesta aquí drupal.stackexchange.com/questions/11468/… tldr; en su página de edición de vistas, en avanzado, haga clic en tema: informaciónPruebe el formato: lista HTML. Eso envolverá todo en una lista de elementos. Para mi propósito es perfecto (una lista de elementos de taxonomía). Espero que esto ayude.
fuente
¿Has probado la función Reescribir resultados ? Haga clic en el campo que desea editar y desplácese hacia abajo hasta que vea Resultados de reescritura . Marque la casilla Reescribir la salida de este campo y luego personalice el HTML según sea necesario. Para los tokens, puede usar los Patrones de reemplazo que se muestran en el cuadro debajo del área de entrada de texto.
Con respecto a los patrones de reemplazo , tenga en cuenta la advertencia que muestra Vistas:
Si esto no es suficiente, intente agregar un nuevo campo, Global: Texto personalizado . Esto le permitirá agregar HTML arbitrario y los patrones de reemplazo también están disponibles aquí. Puede usar dos campos de texto Global: Personalizado separados para agregar las
<div>
etiquetas de inicio y fin.fuente
Global: Custom text
efectos la fila dentro del grupo pero no fuera del grupo,En estos días me encontré con el mismo problema. Y lo que necesitaba al lado del contenedor grupal era una clase css como primero / último por grupo.
Así que agregué en views-view-unformatted.tpl.php el siguiente código php:
Aquí la parte html con el contenedor y las clases:
El resultado será:
Podría ser útil - disfruta
fuente
Así que supongo que el mayor enigma es cómo generar la clase usando el valor del $ title dentro de las etiquetas h3. Probaría el módulo de transliteración y el siguiente fragmento:
Esto funcionó para mí cuando tuve que hacer anclas con nombre dentro de una vista.
fuente
Muy útil: necesitaba agregar algunas clases alfa / omega para un diseño basado en cuadrícula y también algunas extrañas para poder borrar ambas para cada fila. Edité la línea de:
a esto:
Lo que da la salida requerida.
fuente
No necesitas el módulo de transliteración. Drupal core tiene la función drupal_html_class para esto.
fuente
Tuve un problema similar hoy, pero necesitaba una clase específica en el contenedor html, en mi caso la vista está agrupada por términos de taxonomía, y necesitamos un estilo específico en cada término, por lo que una clase específica por término. Así es como cambiamos la vista de plantilla sin formato:
En la vista, la visualización del campo de término de taxonomía se establece en: "Mostrar ID de entidad". Entonces obtenemos la identificación como parte del nombre de la clase, y luego cargamos el título basado en la misma identificación.
fuente
Para cualquiera que no quiera sumergirse en el código y meterse con las plantillas, hay una manera fácil de hacerlo eliminando las clases div predeterminadas usando Fences y agregando su propio div en el prefijo y sufijo del campo usando formateador de campo simple . Si tiene varios campos, simplemente agregue el div que lo contiene en el prefijo del primer campo y el sufijo del último campo.
Por lo tanto, la estructura nativa con las áreas de prefijo y sufijo sin quitar se vería así:
Si fuera a agregar la clase "foo" se convertiría
fuente
La respuesta de chrisjlee anterior lo explica bien, excepto por el nombre del archivo de plantilla. Si desea cambiar solo una vista, el nuevo archivo debe incluir el nombre de la máquina de la vista. Puede encontrar esto en la url de la página de edición de la vista. Se explica muy bien en este comentario sobre un tema similar: https://www.drupal.org/node/1383696#comment-6729128
Necesitaba una clase alrededor de las filas usando el valor de $ title para poder representarlas en 2 columnas. Aquí está el código:
fuente
Me encontré con un problema similar. Quería que mis filas agrupadas se mostraran dentro de un acordeón de arranque. No pude hacerlo funcionar con el módulo Views Bootstrap .
El comentario n. ° 4 resolvió mi problema.
Así es
views-view-unformatted-[my_view_name]-[my_display_name].tpl.php
como se ve mipor supuesto, para que el acordeón funcione, también necesita editar views-view- [my_view_name] - [my_display_name] .tpl.php para tener
Dejé el código predeterminado del módulo entre los comentarios html.
Espero eso ayude.
fuente