Inicio » Trucos Informáticos » Sitios web » Limitar número de artículos en los feeds en PHPNews

Limitar número de artículos en los feeds en PHPNews

Los que utilizan PHPNews como gestor de noticias nos encontramos con un serio inconveniente al generar el archivo RSS. Por defecto, el sistema crea un documento en el que se recogen todos los artículos que se almacenan en la base de datos. Si tenemos guardados muchos artículos, el documento generado es de gran tamaño. En consecuencia, muchos lectores de feeds serán incapaces de gestionarlo. Esto impide utilizar de forma adecuada una herramienta tan potente.

Feeds PHPNews

En los foros de PHPNews aparece una modificación a llevar a cabo en dos archivos del gestor y en la base de datos, para conseguir poner un límite en el número de artículos a mostrar. Os explicamos los cambios que debéis hacer, adaptados al idioma castellano.

Descarga a tu ordenador y abre, dentro de la carpeta languages en el directorio en el que almacenas el gestor, el archivo es_ES.admin.lng y haz lo siguiente:

Localiza la línea:

'CONTENT_SETTINGSMANUALRSS' => 'Crear RSS Feed Manualmente',

Añade a continuación, en la siguiente línea:

'CONTENT_SETTINGSNUMRSS' => 'Número de posts nuevos en RSS Feed',

Guarda los cambios. Descarga y abre ahora el archivo admin.php.

Localiza la porción de código siguiente:

<tr>
<td>
<label for="manualrss"><?php echo $language['CONTENT_SETTINGSMANUALRSS'];?></label>
</td>
<td>
<input id="manualrss" name="manualrss" type="checkbox"
value="1" <?php echo $manualrss?> />
</td>
</tr>

Añade a continuación:

<tr>
<td>
<label for="numrss"><?php echo $language['CONTENT_SETTINGSNUMRSS'];?></label>
</td>
<td>
<input id="numrss" name="numrss" type="text"
value="<?php echo $Settings['numrss']?>" />
</td>
</tr>

Localiza la porción de código siguiente:

if (!$_POST['numtoshowcat'] || !is_Numeric($_POST['numtoshowcat']))
{
$_POST['numtoshowcat'] = 8;
}

Añade a continuación:

if (!$_POST['numrss'] || !is_Numeric($_POST['numrss']))
{
$_POST['numrss'] = 10;
}

Localiza, dentro de

$Vars = array(: 'manualrss',

Añade la siguiente línea:

'numrss',

Localiza la porción de código siguiente (no te confundas, hay porciones de código similares):

$SQL_query = mysql_query('SELECT  								n.id,n.posterid,n.postername,n.time,n.subject,n.titletext,n.maintext,
p.username,p.email,p.avatar'
. ' FROM ' . $db_prefix . 'news AS n'
. ' LEFT JOIN ' . $db_prefix . 'posters AS p  								ON(n.posterid=p.id)'
. ' AND n.trusted = 1'
. ' ORDER by n.id DESC');

Cambia la última línea por la siguiente:

. ' ORDER by n.time DESC LIMIT ' . $Settings['numrss'] 	. ' ');

Guarda todos los cambios y cierra el archivo admin.php. Sube los dos archivos descargados a tu servidor.

Ahora tendrás que añadir un nuevo registro en la tabla phpnews_settings. Para ello utiliza tu gestor de base de datos, generalmente phpMyAdmin, y ejecuta la consulta SQL siguiente:

INSERT INTO `phpnews_settings` VALUES ('numrss', '10');

De esta forma, la próxima vez que generes los feeds, si lo haces manualmente, o cuando escribas un nuevo artículo, si la generación es automática, el documento creado referenciará 10 artículos. Para cambiar este valor entra en el Admin Center de tu gestor y activa Modificar los ajustes. En el apartado ¿Crear RSS feed? tienes un nuevo apartado: Número de Posts nuevos en RSS Feed. Pon en el recuadro el número que desees y pulsa sobre el botón Salvar.

Acerca de Fabriciano González

Amante de la informática y de Internet entre otras muchas pasiones. Leo, descifro, interpreto, combino y escribo. Lo hago para seguir viviendo y disfrutando. Trato de dominar el tiempo para que no me esclavice.

3 Comentarios

  1. Hola Fabriciano. Me gustaría añadir noticias antiguas con fechas antiguas en PHPNEWS y cambiar la fecha a otras que ya tengo editadas. ¿Cómo lo hago? Gracias.

  2. Hola Fabriciano. Me gustaría añadir noticias antiguas con fechas antiguas en PHPNEWS y cambiar la fecha a otras que ya tengo editadas. ¿Cómo lo hago? Gracias.

Deja un comentario