Miren, tengo una dudilla... Tengo un sistema de noticias, el cual se sabe que se puede separar por categorias ¿verdad? Osea, uno elige que cada noticia o artículos salga en detarminada categoria predeterminada...
Tengo varias categorias creadas y me gustaria saber si se puede hacer un include a una sola categoria, pues en el manual de instalacion solo hace referencia al index de noticias (El lugar donde salen todas juntas)
He intentado, pero el tipo de url que da la categoria es del tipo "http://miarroba.com/foros/post.php?foroid=768873" (Ejemplo)
Y no se me ocurre como hacerlo
Si existe alguna forma de conseguirlo, les agradeceria mucho que me explicaran...
Uf, con cosas de phpbb por medio es un poco mas lioso xD Pensaba que seria algo tipo Cute News que en ese caso seria muy facil.
Te explico lo que habria que hacer y ya lo haces tu, ¿vale? No lo hago yo, porque no estoy seguro de lo que habria que cambiar y asi haces tu varias pruebas.
1 En primer lugar, crea un nuevo fichero con ese codigo que se llame, por ejemplo, art_categorias.php
2 El segundo paso, seria decidir la forma en que vas a pedirle una categoria u otra. Por ejemplo si el fichero lo insertaras con un include el codigo que usaras sera:
<? $categoria = "0"; //pon el id de la categoria a mostrar include("art_categorias.php"); ?>
En este caso no tocarias el codigo de art_categorias.php
Si lo insertaras con un iframe, el codigo que pondrias seria:
Obviamente 0 sera la id de la categoria de la que quieres mostrar articulos.
3 El tercer y ultimo paso es modificar el codigo para que muestre los articulos de una unica categoria. He aqui el problema. Supongo que en la tabla de los articulos en la base de datos habra un campo que guarde la id de la categoria. Yo le voy a llamar xxxx, tendras que mirar la base de datos para ver cual es.
Al consultar la base de datos para sacar datos, siempre das las condiciones que quieres para que te muestre unos datos u otros. En tu caso, simplemente quieres añadir una condicion. Tendras que buscar los codigos que saquen datos y añadirle esa condicion.
Esos codigos son de este estilo:
Codigo
No tendras problemas para identificarlos porque siempre hacen la consulta con $sql = buscas eso y encontraras todas las consultas.
El codigo que deberias añadir es
AND xxxx = '$categoria'
El problema es que entre todos los codigos, tendras que decidir cuales modificas y cuales no porque, quiza, no lo he revisado todo, no todos sean consultas a la base de los articulos.
Para que te quede mas claro del codigo modificado, te pongo el ejemplo de antes modificado:
$sql = "SELECT a.*, at.*, c.chapter_name, u.username FROM " . CMS_ARTICLES_TABLE . " a, " . CMS_ARTICLES_TEXT_TABLE . " at, " . CMS_CHAPTERS_TABLE . " c, " . USERS_TABLE . " u WHERE at.article_id = a.article_id AND u.user_id = a.user_id AND c.chapter_id = a.chapter_id AND c.chapter_id IN ($chapter_sql) AND xxxx = '$categoria' $pending_sql ORDER BY time DESC LIMIT 0, " . $cms_config['articles_on_list'];
$sql = "SELECT * FROM " . CMS_CHAPTERS_TABLE . " WHERE chapter_id = $chapter_id AND xxxx = '$categoria'";
Las comillas y el punto coma deben ir al final. Ese, por lo que veo, si que sacalos articulos. Aunque quiza, o mejor dicho seguramente, haya mas. Ves probando mejor de uno en uno. Una pista, que aparezca: CMS_ARTICLES_TABLE y si ves cosas como c.algo, u.algo en el mismo codigo, ahi no toques nada porque esta sacando datos de dos tablas diferentes y no se modificaria igual.
Sobre lo de hacerle el include, no creo que de problemas (igual me equivoco) ya que el codigo es el que se encarga de transformarlo. El unico problema que podria surgir es que intente transformarlo con el template de donde hagas el include. Es mirarlo, si te pasara habrias de copiar el .tpl que luego vas a crear y ponerlo en el .tpl del fichero donde haces el include. Habra que hacer mas modificaciones El .tpl es: cms_articles_body.tpl tu llamalo de otra forma y luego has de editar esta linea:
Igual no cambia, pero por si las moscas, yo cambiaria los include
Codigo
por require_once
Codigo
No deberia dar problemas, pero mejor ponerlo asi.
Tambien, deberas buscar el cms_articles.tpl y modificarlo, pero guardandolo como (segun el ejemplo) art_categorias.php. Entre otras cosas deberas quitarle el codigo que no necesites. Por ejemplo, al estar insertado en otra pagina, no necesitras ninguno de estos tags <html>, <head>, <body>, <title>, <meta> y quiza alguno mas.
Lo unico que faltaria entonces, seria que igual hay paginadores o cosas asi.
TU NO PUEDES Escribir nuevos temas en este foro TU NO PUEDES Responder a los temas en este foro TU NO PUEDES Editar tus propios mensajes en este foro TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 01:01