Sostituzione di views-view-fields.tpl.php


12

È possibile sovrascrivere il views-view-fields.tpl.phpfile per una vista specifica? Ho provato a creare un views-view-fields--view-name.tpl.phpfile e ho ri-scansionato i file modello e ho cancellato la cache senza alcun effetto. Problema simile riportato qui: http://drupal.org/node/1137942

Tuttavia, se assegno un nome al file views-view-fields.tpl.phpnella mia cartella del tema, il nuovo file viene applicato quando i file modello vengono nuovamente sottoposti a scansione. Ciò significherebbe che si applica a tutte le visualizzazioni.

Ho notato che views-view-fields.tpl.php NON è uno dei file elencati nella schermata Informazioni sul tema che presenta Views.

Qualcuno può dirmi definitivamente che l'override di questo file creando una views-view-fields--view-name.tpl.php(o seguendo convenzioni di denominazione simili) non è possibile / non è supportato?

Risposte:


4

L'ordine di precedenza per la convenzione di denominazione dei file tpl è dal più ampio al più stretto nel suo ambito. Pertanto, la sostituzione del campo per tutte le viste è una combinazione, ma non è possibile modificare l'ordine, come hai provato, solo andare più specifico. Per ottenere ciò che desideri, l'oggetto vista è disponibile nel tpl che hai creato, quindi è possibile avere un'istruzione if () {} else {} per filtrare le viste che richiedono l'override controllando il nome / la visualizzazione di la vista.


Non sono sicuro di aver capito ... I file tpl più stretti hanno la precedenza sui file tpl più ampi, giusto? Quindi, views-view--archive.tpl.phpquale è più stretto ha la precedenza su views-view.tpl.phpquale è più ampio?
nmc,

Corretto, e l'ambito è limitato al 'set' di file tpl. Notare come sono raggruppati insieme, una serie di suggerimenti tpl per campo, uno per la vista ecc.
codexmas,

1
Ok, quindi mi chiedo perché il mio restringente views-view-fields--view-name.tpl.phpnon sia preso in considerazione / non sembra avere la precedenza sul default, più ampio views-view-fields.tpl.php?
nmc,

1
Non è un modello reale fornito dalle viste. Non è possibile fabbricare combinazioni di elementi viste per creare i propri file tpl. Gli unici che esistono sono quelli elencati e sono nell'ordine di precedenza. Mettere la logica che ho suggerito nel tuo file views-view-fields.tpl.php è il metodo più semplice per fare quello che vuoi.
codexmas,

1
Ok, questa era la risposta che stavo cercando. Volevo solo verificare che il modulo Views in realtà non supporti l'override del views-view-fields.tpl.phpfile attraverso le convenzioni di denominazione regolari.
nmc,

7

Per le viste 3 - assicurati che nel campo "Formato-> mostra" sia selezionato "Campi" (NON contenuto)

Quindi vai alle viste e trova "Tema: Informazioni" lì puoi vedere l'elenco di tutti i modelli di modello attualmente utilizzati (BOLD) e dei modelli candidati. Trova il file tpl.php che vuoi usare.

Vai alla directory del modulo views e nella cartella "theme" dovresti essere in grado di trovare tpl.php di base per il file scelto. Copia quel file nella cartella del tema. Rinominalo sulla convenzione di denominazione fornita in Tema: Informazioni.

Eseguire nuovamente la scansione dei file modello. Se tutto è OK, views-view-fields.tpl.php non dovrebbe più essere in grassetto. Bolded dovrebbe essere il tuo tpl.php appena creato, quindi puoi modellare il nuovo file tpl.php come preferisci.


Grazie per il promemoria; Ho Campi scelti e NON contenuti. nonviews-view-fields.tpl.php è uno dei file elencati nella sezione Tema: Informazioni, quindi mi chiedevo se avrei dovuto essere in grado di sovrascriverlo allo stesso modo degli altri file modello.
nmc,

@Nebojsa grazie mille per questa risposta. Sono un veterinario D6 / V2 e ho sbattuto la testa sul tavolo per ore cercando di farlo funzionare.
Yitznewton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.