2012-10-24 11 views

risposta

12

Questa domanda sembra venire un sacco così ho pensato di inviare un semplice esempio:

{exp:channel:entries channel="whatever"} 
{switch="<div class='entry'>|"} 
<h2>{title}</h2> 
{if count != total_results}{switch="|</div>"}{/if} 
{if count == total_results}</div>{/if} 
{/exp:channel:entries} 

In questo esempio, un div con una classe di "ingresso" è avvolto intorno ad ogni seconda voce. La variabile dell'interruttore nella parte anteriore è piuttosto lineare. Il back-end utilizza due condizionali: se la voce è l'ultima voce nel ciclo, chiudere il DIV. Se la voce NON è l'ultima voce del ciclo, chiudere il DIV solo per ogni secondo (un riflesso della variabile switch all'inizio del ciclo).

Importante notare che la variabile switch è molto sensibile alle virgolette, quindi quando si inserisce HTML in questo modo, all'interno della variabile switch, è necessario utilizzare le virgolette singole anziché le virgolette doppie. Questo va bene per gli inserimenti semplici, ma potrebbe essere un po 'ostile se hai in mente una formattazione più complessa. Speriamo che questo aiuti alcune persone e sentirsi liberi di ampliare questa idea.

2

C'è anche un plugin che potrebbe aiutare in questa situazione GWcode Alternate. Non l'ho usato da solo perché preferisco usare il tag switch nativo menzionato nell'altra risposta.

0

L'esempio che avevo usato era specifico per quelle istanze in cui un DIV non è desiderato su OGNI immissione ma piuttosto un DIV di avvolgimento attorno a determinati intervalli - comune quando si desidera avere un cursore jQuery che include 3 voci alla volta, per esempio. Questo era espressamente lo scopo del mio esempio. Ogni ingresso non è quello che prenderei in considerazione degli intervalli, che è quello a cui era destinato il mio esempio. Certamente è un caso limite, ma un caso limite che si verifica abbastanza spesso per catturare una soluzione semplice alla sfida che utilizza ancora funzionalità native con solo condizionali semplici.

+0

Mi scuso, ho interpretato male il post e ho cancellato la mia risposta. Per quello che vale [Columnbo] (http://devot-ee.com/add-ons/column-bo) è uno strumento che vale la pena guardare per questo genere di cose. È un po 'più ordinario di usare il tag '{switch}' e si adatta meglio se si desidera un intervallo di dire, ogni 10 elementi. –

+0

Nessun problema: stavo solo cercando di pubblicare qualcosa di puramente nativo. Certamente ci sono alcuni componenti aggiuntivi che ti permettono di fare qualcosa di simile senza i condizionali. –

Problemi correlati