Estoy realizando un sitio y me han pedido que en el se de la posibilidad de enviar un Boletín a todos los usuarios que previamente se hayan suscrito al mismo, pero me han pedido que el diseño de este sea lo más fácil de cambiar. Entonces lo que hice fue una BDatos en la cual puse una tabla llamada template que lo que guardo en la misma es la dirección de la plantilla HTML a usar. Luego lo que hago es obtener el contenido de lo que el cliente quiere que lleve la plantilla y lo sustituyo en la misma haciendo una vista previa de la misma. Este código es un ejemplo del contenido a insertar en la plantilla:
[PHP]
$query = mysql_query("SELECT id_plantilla,direccion FROM plantillas") or die(trigger_error("Error"));
list($id_plantilla, $direccion) = mysql_fetch_assoc($query);
$fp = fopen($direccion,"r");
$html = fread($fp,filesize("$direccion));
fclose($fp);
$html = str_replace("{content}",$textbody,$html);
[/code]
y la variable $textbody sale de un código como este:
Código PHP:
if ($numero >= 1) {
// Consulta para obtener todos los tópicos disponibles
$qct = $db->sql_query("SELECT * FROM ".$prefix."_topics");
$textbody .= "<table width=\"95%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\" align=\"center\">"
."<tr>"
."<td colspan=\"6\" width=\"100%\" height=\"20\" bgcolor=\"#6699CC\"><img src=\"".$nukeurl."/modules/".$module_name."/images/boletin/icon_noticias.jpg\" border=\"0\" align=\"absmiddle\"> <a href=\"".$nukeurl."/modules.php?name=Topics\"><font size='2' color='#FFFFFF'><b>"._MODBOLETINNEWS_TIT."</b></font></a></td>"
."</tr>";
$categories = array();
$inc = 0;
while($fct = mysql_fetch_assoc($qct)){
$cat = "<tr><td colspan=\"6\" height=\"20\" bgcolor=\"#F0F8FE\"><img src='".$nukeurl."/images/topics/".$fct['topicimage']."' border=0 width=\"20\" height=\"20\" align='absmiddle' alt=\"".$fct['topictext']."\" class=\"cursor\"><a href=\"".$nukeurl."/modules.php?name=Topics\" title=\"Mostrar todos las noticias por temas\" target=\"_blank\"><b><font size='2' color='#000000'>".$fct['topictext']."</font></b></a></td></tr>";
// Obtenemos las noticias de ese Topico
$qnt = $db->sql_query("SELECT sid, catid, aid, title, topic, hometext from ".$prefix."_stories WHERE (topic=".$fct['topicid'].") ORDER BY time DESC LIMIT 0, $numero");
$nnt = $db->sql_numrows($qnt);
for($i=0;$i<$nnt;$i++){
$fnt = mysql_fetch_assoc($qnt);
$cat .= "<tr><td colspan=\"6\" height=\"20\" bgcolor=\"#F0F8FE\"><font size='2'><a href=\"".$nukeurl."/modules.php?name=News&file=article&sid=".$fnt['sid']."&mode=&order=0&thold=0\" title=\"Mostrar noticia completa\" target=\"_blank\">".$fnt['title']."</a></font></td></tr>";
}
array_push($categories, $cat);
}
for($i=0;$i<count($categories);$i++){
$textbody .= $categories[$i];
}
}
Salu2