Visualizzazioni 3 e HTML5: come sovrascrivere l'output per il markup?


7

Ho una visione che ho creato che seleziona i post del blog in base a uno specifico termine di tassonomia, creando una sorta di vista "Post in primo piano" che ho incorporato nella prima pagina del mio sito. Il problema in cui mi imbatto è il tentativo di generare la vista in modo che ogni post sia marcato semanticamente usando alcuni dei nuovi HTML. Ho provato il "Riscrivi l'output di questo campo" incorporato, ma ignora i tag che utilizzo (ovvero articolo, intestazione, piè di pagina) e racchiude tutto nei div anche quando deseleziono i tag segnaposto.

Devo creare una vista prioritaria - view_name.tpl.php per riscrivere l'output di ciascun post così come appare nella vista, o devo usare gli hook di preelaborazione nel template.php per influenzare l'output?

Dovrei dichiarare di avere un'esperienza di base con la scrittura di hook PHP e preprocess, ma posso tutte le risorse di cui ho bisogno per spostarmi lungo la linea, se sono puntato nella giusta direzione.

Risposte:


10

Noterai che nella vista sotto il blocco "Impostazioni stile" è presente un collegamento per Tema: Informazioni. Esporrà tutti i file dei temi chiamati per la visualizzazione. È possibile utilizzare file di temi generici o molto dettagliati che verranno utilizzati solo per la visualizzazione delle visualizzazioni.

Il primo nome file nell'output Display è views-view.tpl.php. Ciò si applica a tutte le visualizzazioni e visualizzazioni. Il prossimo nell'elenco è views-view - [view name] .tpl.php. Si applicherà solo alla tua vista. Continua a eseguire il drill down fino a quando non diventa il più specifico possibile. views-view - [nome vista] - default.tpl.php è l'ultimo nell'elenco e si applica solo alla visualizzazione predefinita della vista. Facendo clic su Visualizza output: il collegamento esporrà il codice modello utilizzato dalle visualizzazioni. Basta copiare e creare un nuovo file modello con uno dei suggerimenti nell'elenco. Di solito è meglio essere il più specifici possibile. Il file modello può andare ovunque nel tuo tema e le viste lo prenderanno fintanto che riesegui la scansione dei file modello nelle informazioni sul tema e salvi la vista. Esistono modelli di visualizzazione, modelli di riga, modelli di campo e modelli specifici di campo.

Una volta che hai imparato a manipolare i file modello di visualizzazione, si apriranno davvero le tue possibilità di progettazione.


Fantastico! Grazie per la segnalazione; questo consentirà sicuramente un maggiore controllo del design.
PendragonDev

Estendendolo un po ', considera il modulo Strumenti HTML5 come menzionato in questa guida a Drupal HTML5 ; espone più elementi HTML5 in Views.
Christopher Cooper,

2

Fences sembra un ottimo modulo (per Drupal 7) per controllare il markup dell'output delle viste:

Pagina del progetto:

http://drupal.org/project/fences

Dalla pagina del progetto:

"Fences è uno strumento di facile utilizzo per specificare un elemento HTML per ogni campo. Questa scelta di elementi si propaga ovunque il campo venga utilizzato, ad esempio teaser, feed RSS e visualizzazioni. Non è necessario continuare a riconfigurare lo stesso elemento HTML ogni volta che si visualizza il campo. "

Mi piace particolarmente questo bit (ottimo per l'output di debug):

"Soprattutto, Fences offre un markup più snello rispetto al core Drupal 7 ! E può anche sbarazzarsi delle classi estranee !"

Anche questo è bello: ridurre la ripetizione del lavoro:

"Questo tipo di strumento è necessario per creare output HTML5 semantico da Drupal. Senza tale strumento, devi creare modelli di campo personalizzati nel tuo tema per ogni campo. :("

Hanno anche considerato le alternative popolari:

Progetti simili includono campi semantici , wrapper di campo e uno strumento all'interno degli extra della Suite display . Ma pensiamo che questo approccio sia Morefasterbetter ™.

Ringraziamo la rash dell'utente Drupal per aver menzionato il modulo Drupal Fences nel suo commento su questa domanda Il modulo Semantic Views è obsoleto da Views 3?


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.