Allora finalmente ho risolto, posto la soluzione.
Ho fatto questo file js che viene incluso nella pagina che contiene i link alla demo:
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.