Back to top

Autore Topic: [RISOLTO] Problema di link sui template con template selector  (Letto 2002 volte)

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Recentemente in un'altra sezione del forum ho cercato un modulo che permettesse di cambiare template da frontend senza modificare il database: mi è stato indicato template selector che funziona anche sulla 2.5.
Mi è però sorto un problema: io dovrei fare una pagina vetrina con esposte le thumbnail linkate dei template disponibili; mettiamo di avere a disposizione i template beez_20 e beez5.
Le thumbnail di beez_20 e beez5 sono linkate entrambe al sito demo che mostra anche il modulo template selector per i cambio diretto del template.
Ci deve essere qualcosa che distingua il link sulla thumbnail di beez_20 rispetto a quello sulla thumbnail di beez5, in modo che quando uno vi clicca sopra si apre la demo con il template scelto già attivo; quel qualcosa potrebbe essere una variabile get del tipo ....?template=4 oppure ....?template=6 [4 per beez_20 e 6 per beez5]. Il problema è come fare a dire a template selector che se è settata la variabile $_GET['template'] deve attivare quel tema.
Questa della variabile get è solo una mia idea e la soluzione potrebbe essere un'altra, comunque la necessità di avere un link diretto su ogni template credo sia chiara, non mi è chiaro invece come posso ottenere un simile risultato evitando di installare tanti siti demo quanti sono i template disponibili.
« Ultima modifica: 03 Mar 2012, 15:24:13 da giancarlo75 »
Clastiweb

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Problema di link sui template con template selector
« Risposta #1 il: 03 Mar 2012, 15:23:53 »
Allora finalmente ho risolto, posto la soluzione.
Ho fatto questo file js che viene incluso nella pagina che contiene i link alla demo:
Codice: [Seleziona]

function scriviCookie(nomeCookie,valoreCookie,durataCookie) {
   var scadenza = new Date();
   var adesso = new Date();
   scadenza.setTime(adesso.getTime() + (parseInt(durataCookie) * 60000));
   document.cookie = nomeCookie + '=' + escape(valoreCookie) + '; expires=' + scadenza.toGMTString() + '; path=/';
   
}
function settemplate(numerotemplate) {
   
   scriviCookie('jTemplateSelector',numerotemplate,60);
}
Ogni link ha l'attributo onclick che richiama la funzione settemplate, per esempio onclick="settemplate(4);" dove il numero del template è il corrispondente id nel database.
Infine ho aperto il file plugins/system/templateselector/templateselector.php ed ho aggiunto la riga:
$template_style_id = $_COOKIE['jTemplateSelector']; //RIGA AGGIUNTA!!!!!
appena al di sotto della riga:
$template_style_id = $app->getUserStateFromRequest('templateSelector', 'templatedirectory', '', 'int');
in pratica la va a sovrascrivere ma non ho rimosso la parte codice originale.
Stessa cosa sul file modules/mod_templateselector/helper.php con la riga:
$selected = $_COOKIE['jTemplateSelector']; //RIGA AGGIUNTA!!!!!
messa subito sotto alla riga:
$selected = $app->getUserStateFromRequest('templateSelector', 'templatedirectory', 0, 'int');


Così facendo la demo si apre sempre con il template impostato dalla funzione settemplate, ma è ancora possibile usare il form di template selected per cambiare template dalla stessa demo senza dover cliccare su un altro link.
« Ultima modifica: 03 Mar 2012, 15:43:38 da giancarlo75 »
Clastiweb

Offline opsosa

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
  • operatore socio sanitario oss
    • Mostra profilo
Re:[RISOLTO] Problema di link sui template con template selector
« Risposta #2 il: 02 Ott 2012, 10:26:46 »
ciao, volevo domandare come modificare la funzione che hai inserito sopra in modo che sia già impostata...
ciao

 



Web Design Bolzano Kreatif