AJAX Rating Bars con sNews
Publicado el: 21/03/2008 - 20:49Nos preguntamos cómo añadir un sistema de valoraciones para nuestro gestor de contenidos sNews. En este caso vamos a integrar las estrellitas de AJAX Rating Bars (un exitoso sistema de puntuaciones no intrusivo). Para ello vamos a insertar el sistema de puntuación debajo del artículo, justo antes de que empiecen los comentarios -en Snews estaríamos hablando de la variable $infoline-. Es decir, la puntuación del artículo/pagina sólo se mostrará sí tenemos habilitado para ese contenido el infoline.
La receta:
En primer lugar vamos a instalar AJAX Rating Bars v 1.2.2, para ello seguimos al dedillo las instrucciones que hay en el readme.txt, luego integraremos el script modificando el fichero snews.php
- Creamos una nueva tabla en nuestra base de datos:
- CREATE TABLE `ratings` (
`id` varchar(11) NOT NULL,
`total_votes` int(11) NOT NULL default 0,
`total_value` int(11) NOT NULL default 0,
`used_ips` longtext,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3;
- CREATE TABLE `ratings` (
- Configuramos los datos de acceso a la base de datos en _config-rating.php
- Abrimos nuestra plantilla de snews (contenida en index.php) y tras la sentencia <?php session_start(); include('snews.php'); ?> añadimos:
- <?php require('_drawrating.php'); ?>
También incluimos en ese mismo fichero, dentro del head los dos javascript y la hoja de estilos con la que funcionará el Rating Bars.
- <script type="text/javascript" language="javascript" src="js/behavior.js"></script>
<script type="text/javascript" language="javascript" src="js/rating.js"></script>
<link rel="stylesheet" type="text/css" href="css/rating.css" />
- Editamos nuestro fichero sNews.php para indicarle dónde tiene que incluir las estrellas. En nuestro caso las vamos incluir tras el infoline. Buscamos la línea que contiene:
- else if (substr($position, 0, 1) != '2' && empty($currentPage)) {
if ($infoline == true) {
$tag = explode(',', tags('infoline'));
Tras tags('infoline') añadimos el include y quedará de la siguiente forma:
- else if (substr($position, 0, 1) != '2' && empty($currentPage)) {
if ($infoline == true) {
$tag = explode(',', tags('infoline'));
echo rating_bar($r['id'],5); - else if (substr($position, 0, 1) != '2' && empty($currentPage)) {
Aquí podéis ver un ejemplo ya integrado con Snews.
Escribe un comentario
* = campos obligatorios