Anotaciones discontínuas, en el tiempo y en su forma (Ruben Divall)

Rubendivall.es »  Blog » Programación Web » AJAX Rating Bars con sNews

AJAX Rating Bars con sNews

Publicado el: 21/03/2008 - 20:49

Nos 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

  1. 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;
  2. Configuramos los datos de acceso a la base de datos en _config-rating.php
  3. 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" />
  4. 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);

Aquí podéis ver un ejemplo ya integrado con Snews.

jaime el día 13/01/2009 - 22:23

lo probare en mi sitio, gracias por la info.!

Escribe un comentario

* = campos obligatorios

:

:

:


Mil novecientos más 84 =