ciao, sto cercando di rendere dinamico il più possibile un sito. ho slegato i dati dal template usando rainTPL e adesso ho caricato i moduli ma ho dei problemi.
allora, in sostanza prendo la struttura del modulo da un file modulo.html
codice:
<div class='art-Block'>
<div class='art-Block-tl'></div>
<div class='art-Block-tr'></div>
<div class='art-Block-bl'></div>
<div class='art-Block-br'></div>
<div class='art-Block-tc'></div>
<div class='art-Block-bc'></div>
<div class='art-Block-cl'></div>
<div class='art-Block-cr'></div>
<div class='art-Block-cc'></div>
<div class='art-Block-body'>
<div class='art-BlockHeader'>
<div class='l'></div>
<div class='r'></div>
<div class='art-header-tag-icon'>
<div class='t'>[title]</div>
</div>
</div>
<div class='art-BlockContent'>
<div class='art-BlockContent-body'>
<div>
[content]</p>
</div>
</div>
</div>
</div>
</div>
utilizzando questa funzione la unisco con i moduli caricati in un database e creo la stringa che poi và a prendere il posto del marker della sidebar (la sostituzione viene fatta da rainTPL)
Codice PHP:
function loadModules($cDb, $db, $position, $pathToModuleStruct) {
$ret = "";
$query = $cDb->eseguiQuery($db,"SELECT id,title,rootPath,loadPage
FROM modules
WHERE sidebarPos = '" . $position . "'
AND visible = 1");
while($row = mysql_fetch_array($query)) {
//crea il vettore coi dati
$vModule[] = array("id" => $row['id'],
"title" => $row['title'],
"rootPath" => $row['rootPath'],
"loadPage" => $row['loadPage']);
}
foreach($vModule as $mod) {
$content = getIncludeContents("modules/" . $mod['rootPath'] . "/" . $mod['loadPage']);
if($content == false) {
$ret .= moduleError("Errore caricamento modulo [b]" . $mod['title'] . "[/b]");
continue;
}
$incMod = includeModule($pathToModuleStruct, $mod['title'], $content);
if($incMod == false) {
$ret .= moduleError("Errore caricamento modulo" . $mod['title']);
continue;
}
$ret .= $incMod;
}
return $ret;
}
la funzione includeModule unisce la struttura con il contenuto
Codice PHP:
function includeModule($pathModuleTemplate, $title, $content) {
$mod = getIncludeContents($pathModuleTemplate);
if($mod != false) {
$mod = str_replace("[title]",$title,$mod);
$mod = str_replace("[content]",$content,$mod);
$mod = str_replace("[if icon=true]","",$mod);
$mod = str_replace("[endif]","",$mod);
return $mod;
}
else {
return false;
}
}
la funzione getIncludeContents serve per caricare in una variabile il contenuto di una pagina
Codice PHP:
function getIncludeContents($filename) {
if (is_file($filename)) {
ob_start();
include $filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
in sostanza il mio problema è che una pagina in puro HTML la carica senza problemi...mentre se carico una pagina con contenuto di JS il JS non funziona...come faccio a caricare anche gli script javaScript?
lo so che ho scritto un sacco di roba ma vabbè 
grazie ciao