Tenéis razón. Voy a explicarlo más detalladamente.
Yo he creado un menú y una página en el CMS en el que baso mi web (e107) desde donde aparecen películas que yo introduzco a una tabla.
Resulta que para que el texto, tanto en la página como en el menú aparezca correctamente integrado al tema hay que usar esto:
Código:
$ns->tablerender($titulo, $texto, '')
Donde la variable titulo refiere al titulo de la página o menú y la variable texto refiere al contenido de la página o menú.
Todo lo que salga fuera de estas dos variables no sera correctamente introducido por lo que aparecerá en el caso de los menús fuera de la columna y en caso de ser una página (dependiendo del tema) en el head o footer.
Por lo tanto si yo creo un menú o una página asi:
Código:
<?php
echo '<h4>Peliculas</h4><br /><hr /><p>Texto</p>';
?>
No sera correctamente interpretado por el CMS.
Esta es la forma correcta:
Código:
<?php
$titulo='Peliculas';
$texto='Texto';
$ns->tablerender($titulo, $texto, '');
?>
Todo lo que tenga que aparecer dentro de la pagina o menu, debe ser insertado mediante la variable $texto.
De ser una web programada sobre un tema CSS, con esto sobraria:
Código:
<?php
while($result...){
?>
<div>
<?php echo$resulr... ?>
</div>
<?php
}
?>
Pero estoy obligado a hacerlo de la siguiente forma
Código:
<?php
$titulo='Peliculas';
while($result...){
$campo1=$result['campo1'];
$campo2=$result['campo2'];
$campo3=$result['campo3'];
}
$texto='<div><table>...'.$campo1.'</table></div><div>'.$campo2.'</div>';
$ns->tablerender($titulo, $texto, '');
?>
Si como me has por supuesto antes inserto la variable $ns dentro del while, repite la página y no el contenido en el bucle. Por eso debo dejarlo fuera.
Si hay otra forma más fácil o eficaz o es que realmente se hace con otras herramienta, es lo que necesito averiguar.
Gracias por vuestras respuestas.