Buenas, soy nuevo por aquí y necesito ayuda con joomla.
Resulta que necesitaba incluir un código php en un contenido estático de joomla, pero este lo traduce todo a html "por seguridad".
Encontré un modulo (runphp) que sí me deja usar php, pero cuando el código php lo complicas un poquito, empezó a fallarme.
Mi duda es como poder usar el código, que es el siguiente:
Código PHP:
<?php
// La conexión y selección base de datos
$dblink = mysql_connect('usuario','contraseña','servidor');
mysql_select_db('base de datos', $dblink);
// Sentencia SQL 1
$sql = "SELECT id FROM content WHERE sectionid = '8'";
$total_resultados = mysql_num_rows(mysql_query($sql)); // Total de resultados
$resultados_pag = 30; // Resultados por página
$total_pags = ceil($total / $resultados); // Total de páginas
// Comprovaciones de página
if (!isset($_GET['p'])) {
$_GET['p'] = 1;
} elseif ($_GET['p'] > $total_pags) {
die("La página no existe");
}
$inicio = ($_GET['p'] - 1) * $resultados_pag; // Fila en la que se inicia la selección
// Sentencia SQL 2
$sql = "SELECT id, title, title_alias FROM content WHERE sectionid = '8' ORDER BY id DESC LIMIT $inicio, $resultados_pag";
$sql = mysql_query($sql);
// Mostrar los datos
echo '<table>';
// Número de filas
$num = mysql_num_rows($sql);
$i = 1;
while ($row = mysql_fetch_assoc($sql)) {
if (($i == 1) || ((($i - 1) % 3) == 0)) {
echo '<tr>';
}
echo '<td align="center"><a href="www.web.net/'.$row['id'].'/"><img src="imagenes/'.$row['title_alias'].'.jpg"/><br />'.$row['title'].'</a></td>';
if ((($i % 3) != 0) && ($i == $num)) {
while ((($i % 3) != 0)) {
echo '<td></td>';
$i++;
}
} elseif ((($i % 3) == 0) {
echo '</tr>';
}
$i++;
}
echo '</table>';
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<select name="p">
<?php
for ($i = 1, $i <= $total_pags, $i++) {
echo '<option ';
if ($_GET['p'] == $i) {
echo 'selected="selected" ';
}
echo 'value="'.$i.'">Página '.$i.'</option>';
}
?>
</select>
<input type="submit" value="Ir" />
</form>
Al final se me ocurrió crear un archivo php con ese código e instalarlo como mambot, pero lo que hace es mostrarlo correctamente pero en todas las páginas, es decir, que arriba de cada artículo o de cada sección, muestra eso, y luego ya muestra lo que debe mostrar.
¿Se puede hacer que un mambot se muestre solo cuado abras un determinado artículo de contenido estático? Es que si fuera así, podría hacer que se viera solo con un artículo y dejar ese artículo en blanco, con lo que se mostraría el código que quiero.
La última opción que he probado ha sido copiar el archivo index.php y donde pone que muestre frontend le he puesto que mostrara el archivo con el código. Luego lo he guardado con otro nombre, de forma que cuando accedes a el te muestra el código que yo quiero.
Problema? Pues resula que los módulos, head y footer no los carga el index sino el frontend, con lo que estamos con las mismas. Luego he probado a modificar el frontend para que no muestre los artículos y cargarle el código, pero eso ya era demasiado, no he podido.
¿Alguna idea? Me bastaría con que se cargaran los módulos, las barras laterales y eso, el header y el footer, y sustituir el frontend por el código que yo tengo...
salu2