7 homepage per ogni giorno della settimana

12 contenuti / 0 new
Ultimo contenuto
7 homepage per ogni giorno della settimana

Buongiorno a tutti.
Ho creato 7 views personalizzate, e vorrei visualizzarle in homepage in base al giorno della settimana. Mi spiego con esempio:
View1=ogni lunedì
View2=ogni martedì
ecc
Potrei trasformare le view in blocchi o pagine, ma il problema rimane: come fare?
Ho provato con scheduler e con rules, ma niente...

Qualche anima pia riesce ad aiutarmi? Grazie infinite in anticipo

Andrea

Drupal Version:

Ciao, potresti usare un filtro contestuale con del codice php in cui ti prendi il nome del giorno corrente.

Esatto, ma come? Riesci a seguirmi? Sono bloccato da giorni...

Si, potresti descrivermi lo scenario ed eventualmente i campi che hai usato in modo tale da poter fare dei test e risponderti in modo preciso ?

Grazie.

Non sei gentile, di più! In sostanza io ho creato un tipo di contenuto con vari campi: nome, via, quartiere, Promo1, Promo2, Promo3, Promo4, Promo5, Promo6, Promo7, dove la promo1 corrisponde a lunedì, promo2 a martedì ecc.

Ho creato successivamente 7 viste, dove vado a filtrare il nome, la via, il quartiere e la Promo1 per il lunedì, una nuova vista con il filtro su Promo2 e così via. Io vorrei che la Vista1 sia visualizzata in homepage il lunedì, la vista2 il martedì ecc.

E' fattibile?

Ciao,

ti scrivo il tutto in pseudcodice (quindi c'è la logica, poi dovrai fare piccoli aggiustamenti, non ho il tempo di provare).

Crea quindi una pagina e come formato metti PHP inserendo questo codice

<?php if (date('N')=="1"){
print
views_embed_view('NOMEVISTA',"block_1");
}elseif(
date('N')=="2"){
print
views_embed_view('NOMEVISTA',"block_2");
}
?>

In poche parole date('N') ritorna il giorno della settimana da 1 a 7 (http://php.net/manual/it/function.date.php).

views_embed_view('NOMEVISTA',"block_2"); stampa la vista dove dovrai mettere il nome e l'id del blocco, lo vedi in alto nell'url della vista (https://api.drupal.org/api/views/views.module/function/views_embed_view/7).

Ora puoi lavorarci, se non vedi nietne hai sbagliato i dati per l'embed della vista.

Mi trovi su Google+

Fai in questo modo:
aggiungi un filtro contestuale usando il campo che contiene il valore che ti interessa, in questo caso Promo1, come tipoligia di filto imposti PHP e come codice dovrebbe bastare:

return t(date('l'));

senza i tag PHP... è una L minuscola.

La funzione date() è spiegata quì: http://php.net/manual/en/function.date.php

La funzione t() serve a tradurre il contenuto nella lingua del tuo sito.

Fammi sapere, ciao.

FerraW1893 wrote:
Non sei gentile, di più! In sostanza io ho creato un tipo di contenuto con vari campi: nome, via, quartiere, Promo1, Promo2, Promo3, Promo4, Promo5, Promo6, Promo7, dove la promo1 corrisponde a lunedì, promo2 a martedì ecc.

Ho creato successivamente 7 viste, dove vado a filtrare il nome, la via, il quartiere e la Promo1 per il lunedì, una nuova vista con il filtro su Promo2 e così via. Io vorrei che la Vista1 sia visualizzata in homepage il lunedì, la vista2 il martedì ecc.

E' fattibile?


ma se sono degli eventi (sconti etc.)che si ripetono dovresti usare date + calendar
https://www.drupal.org/node/262062

Grazie a tutti per le risposte!
Quella di morettolss mi sembra la più efficacie: ho fatto dei test dove, al posto di "print views_embed_view" ho indicato
echo "Lunedì";
echo "Martedì"; ecc e funziona alla grande!

Ora il problema rimane su views_embed_view...... Ho provato in mille modi ma non mi stampa nulla.
Come nome vista direi che si tratta il "view name" presente nella pagina admin/structure/views.

Per quanto riguarda l'id del blocco invece, ho creato un blocco per ogni vista, ed in automatico mi si creava il nome block_1 per tutte le 7 viste. Così ho modificato il nome su "avanzate-other-Machine Name" inserendo un nome diverso (block_01, block_02, ecc)

Ed ecco la stringa completa:
print views_embed_view ( 'promozioni-lunedi' , 'block_01' );

ma continua a non stampare nulla, nonostante 1000 tentativi. Dove cavolo sbaglio??

Forse è meglio se non vi dico l'errore.... continuavo a mettere block_01 anzichè block-01.... Grazie mille a tutti, siete grandi!!!

Ottimo, ne sono contento, vedrai che una volta imparato è tutto molto semplice.

Mi trovi su Google+

Meggis (non verificato)
Ritratto di Anonimo

Leggo il post solo adesso...
Io avrei fatto cosi: https://github.com/danzisi/homepage_each_day_week