Passaggio parametri a un template

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
alpadova

Passaggio parametri a un template

Post by alpadova »

Ciao a tutti, sono nuovo ma apprezzo molto questo piccolo strimento CMS dalle enormi potenzialità. :)

Sto creando un mio sito personale, con nella home page le news, ma nelle pgine interne nopn vorrei che le news comparissero.
Per cui ho creato un template modificato per tutte la pagine "interne" al sito.
Al posto delle news ho messo il componente ALBUM, così per ogni pagina posso avere a SX al posto delle news una piccola e semplice galleria di immagini che mi "condiscono" gli articoli pubblicati nelle varie sezioni del sito.

Ora ho un problema, nel template che ho modificato ho usato la TAG {cms_module module='album' albums='2'} per inserire uno specifico album nella parte sinistra, però così facendo per avere 1 album diverso per ogni pagina dovrei crearmi tanti template quante sono le pagine del sito e ciò non mi sembra una cosa buona.

Per cui vi chiedo se esiste la possibilità di parametrizzare questa cosa, cioè passare un parametro al template della pagina a seconda del quale mi si visualizzerà un'album piuttosto che un'altro.

es. {cms_module module='album' albums='#PARAM#'}  ???

Vi ringrazio anticipatamente per la disponibilità.  :D
Alessio
alby

Re: Passaggio parametri a un template

Post by alby »

alpadova wrote: es. {cms_module module='album' albums='#PARAM#'}  ???
Intanto benvenuto!

se inserisci nel template il tag:

Code: Select all

{get_template_vars}
ottieni tutte le variabili utilizzabili dal template.
Ad esempio:

Code: Select all

{cms_module module="album" albums="$page_id"}
Avrai un album relativo all' ID della pagina

Alby
alpadova

Re: Passaggio parametri a un template

Post by alpadova »

Grazie della celere risposta Alex, ottima la possibilità di avere le

Code: Select all

{get_template_vars}[
La tecnica suggerita andrebbe benissimo, l'unico problema è che il modulo "Album" accetta solo gli ID numerici dell'album, mentre non posso dare alle pagine alias numerici.

Per cui mi servirebbe un modo per convertire i nomi delle pagine in ID degli album.
Ho pensato a 2 strade:
1) Modificare il componente Album in modo che accetti come parametro non l'ID dell'album ma il NOME dell'album.
2) Crearmi una User defined tags fatta in questo modo:

Code: Select all

 
if $page_alias="sardegna" then {cms_module module="album" albums="1"}
if $page_alias="rimini" then {cms_module module="album" albums="2"}
...
Prima di iniziare vorrei sapere se avete un'opinione in proposito e qual'è la strada più indolore da seguire.
Vi ringrazio.
Alessio
alby

Re: Passaggio parametri a un template

Post by alby »

alpadova wrote: Per cui mi servirebbe un modo per convertire i nomi delle pagine in ID degli album.
Ho pensato a 2 strade:
1) Modificare il componente Album in modo che accetti come parametro non l'ID dell'album ma il NOME dell'album.
2) Crearmi una User defined tags fatta in questo modo:

Code: Select all

 
if $page_alias="sardegna" then {cms_module module="album" albums="1"}
if $page_alias="rimini" then {cms_module module="album" albums="2"}
...
Se gli album sono abbastanza limitati vedrei meglio un template per ogni album da visualizzare.
Oppure sempre un UDT ma più flessibile:
page_to_album

Code: Select all

global $gCms;
switch ($gCms->variables['page_name']) {
  case 'sardegna': $smarty->assign('album_id', 1); break;
  case 'rimini': $smarty->assign('album_id', 2); break;
  ...
}

ed il codice nel template:

Code: Select all

{page_to_album}
{cms_module module="album" albums="$album_id"}
Alby
alpadova

Re: Passaggio parametri a un template

Post by alpadova »

;) Alby ti ringrazio molto. Funziona benissimo, ora ho anche capito come lavorano un pò le variabili perchè nn avevo trovato molto a riguardo.

Cmq per correttezza, se servisse anche ad altri che vogliono usare questo metodo, il codice corretto da mettere per il richiamo degli album è questo

Code: Select all

{page_to_album}
{cms_module module="album" albums=$album_id}
Ossia senza i doppi apici della variabile $album_id

Alessio
Post Reply

Return to “Italian - Italiano”