Post by dcarreroc » Thu Dec 31, 2009 4:22 pm

Hola a todos, me he registrado en la comunidad por que quiero aportar algo que hice para un cliente.
Se trata de un rss con los ultimos productos agregados, espero que les pueda servir.
Quedo atento a cualquier sugerencia que quieran hacer.
La instalacion es sencilla:
- Descargan el archivo que esta adjunto a esta entrada.
- Configuran las siguientes constantes en el archivo rss.php

DEFINE("LANG_ID",1); // The language can gete from table language
DEFINE("LIMIT",8); // How many articles you want show
DEFINE("RSS_TITLE","Last articles published"); // RSS title
DEFINE("RSS_LINK","http://www.yoursite.com"); // Bussines web address
DEFINE("RSS_DESCRIPTION","Your site description"); // Description

- Lo copian al directorio raiz (donde esta el archivo config.php)

- Listo ya pueden ver los ultimos articulos en rss :D http://www.tusitioweb.com/rss.php

Pueden ver un ejemplo de como queda en http://www.avellanedaonline.com/empresas/co-27/rss.php

Saludos (en el archivo esta mi correo)
(no pude subir el archivo con otra extension, lo siento)

Attachments

Archivo rss.doc
Reemplazar a rss.php


Newbie

Posts

Joined
Thu Dec 31, 2009 3:53 pm

Post by cofran » Fri Jan 01, 2010 12:52 am

Buen laburo che!, lo que agregaría podría ser que tambien pueda tomar los últimos articulos agregados segun la categoria que este viendo el usuario.

Commercial Contributions: Twitter Auto Publish | Multiple Payment Fee | Pasat 4b para Opencart | Delivery Date PRO
Free Contributions: Custom Layout | Delivery Date | Dineromail | Call for Price | Mercadopago
Commercial Themes: .-
Free Themes: [-CoFraN-]® Electronica


User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by Esoteria » Tue Jan 05, 2010 5:56 pm

MM la cosa me funciona a medias, http://esoteria.es/rss.php parece que el código php esta bien pero la estructura del rss no.

El rss resultante no muestra los items sin embargo si miramos el código del rss aparecen los productos.

Alguna idea¿?

Una ayuda no biene mal | NoSoyUnBorrego | Productos Esotericos | Hosting Gratuito


User avatar
Newbie

Posts

Joined
Sat Jan 02, 2010 5:21 am
Location - Valencia[España]

Post by dcarreroc » Tue Jan 12, 2010 12:23 pm

@Esoteria, disculpa la tardanza he estado algo ocupado.
Estas usando código HTML en la descripción del canal RSS, eso no se puede, debes poner una descripción sin código HTML y listo.
En lugar de tener esto :
"Bienvenido al lugar de encuentro de la mejor selección de productos esotéricos. En Esoteria.es podrás encontrar rituales y productos escogidos por expertos y manufacturados por manos privilegiadas y en condiciones optimas para su ritualización.<br>
Todos nuestros productos están hechos de forma individual y condicionadas por su ritualización."
Debes poner:
"Bienvenido al lugar de encuentro de la mejor selección de productos esotéricos. En Esoteria.es podrás encontrar rituales y productos escogidos por expertos y manufacturados por manos privilegiadas y en condiciones optimas para su ritualización. Todos nuestros productos están hechos de forma individual y condicionadas por su ritualización."
Saludos

Newbie

Posts

Joined
Thu Dec 31, 2009 3:53 pm

Post by dcarreroc » Tue Jan 12, 2010 12:25 pm

cofran wrote:Buen laburo che!, lo que agregaría podría ser que tambien pueda tomar los últimos articulos agregados segun la categoria que este viendo el usuario.
Trabajare en ello.
gracias por la idea y por la critica constructiva.

Saludos

Newbie

Posts

Joined
Thu Dec 31, 2009 3:53 pm

Post by mortimur » Fri Mar 19, 2010 5:49 pm

Hola,
¿Puedo cambiar la codificación de caracteres a utf-8?
Uso la lengua búlgara en el sitio.
Gracias
Ivan
Last edited by mortimur on Sat Mar 20, 2010 8:29 am, edited 1 time in total.

Newbie

Posts

Joined
Tue Feb 09, 2010 7:25 am

Post by dcarreroc » Fri Mar 19, 2010 9:17 pm

Hola, sí puedes cambiar a utf-8, en la linea 22 y 23 del archivo php esta la codificacion del xml generado.
Prueba y me cuentas como te va.

Saludos

Newbie

Posts

Joined
Thu Dec 31, 2009 3:53 pm

Post by mortimur » Sat Mar 20, 2010 8:26 am

Yo ya cambio a utf-8, pero el problemа es con la descripción, que esta en el mysql... La codificación de mysql esta utf-8 tambien, pero todas las letras cirílicas no se muestran.
¿Alguna idea?

Newbie

Posts

Joined
Tue Feb 09, 2010 7:25 am

Post by Hildebrando » Thu Apr 01, 2010 6:15 pm

Pues a mi me va bien.

Unicamente he modificado el codigo del bucle pues cuando no tienes foto, entonces no queda muy elegante en los lectores de RSS. Lo he dejado así:

Code: Select all

while ($item = mysql_fetch_assoc($result)){
     if (empty($item['image'])){
         $imagen = HTTP_IMAGE.'cache\no_image-120x120.jpg';
     }else{
         $imagen = HTTP_IMAGE.$item['image'];
     }
     echo "<item>\n" ;
     echo "<title>".$item['name']."</title>\n";
     echo "<link>".HTTP_SERVER."index.php?route=product/product&product_id=".$item['product_id']."</link>\n";
     echo "<description><![CDATA[".html_entity_decode($item['description'])." 
     <br /><img width=\"100\" height=\"100\" src=\"".$imagen."\" />]]></description>\n";
     echo "</item>\n";
} 

Commercial Contributions:Bulk Specials| Bulk Update Prices|Search Tyre Pro
Free Contributions: Youtube video (oc 1.5.x) | Search History Report (oc 1.5.x) | Product Filter by Category (oc 1.5.x)|Youtube Popup
More Free & commercial mods: www.fpress.com


User avatar
Active Member

Posts

Joined
Fri Mar 06, 2009 8:22 pm
Location - Spain

Post by cr09 » Sat Apr 03, 2010 1:30 pm

funciona para la version mas nueva? gracias.

New member

Posts

Joined
Tue Jul 14, 2009 3:13 am

Post by Hildebrando » Sat Apr 03, 2010 11:39 pm

Hola:

Con la 1.4.6 SI que funciona.

Pero ten en cuenta que no es propiamente un módulo. Tienes que ponerlo en Admin y lugo ponerte un icono en el frotal de la web y vincularle el link a la dirección del rss.php.

Un saludo,

Hilde

Commercial Contributions:Bulk Specials| Bulk Update Prices|Search Tyre Pro
Free Contributions: Youtube video (oc 1.5.x) | Search History Report (oc 1.5.x) | Product Filter by Category (oc 1.5.x)|Youtube Popup
More Free & commercial mods: www.fpress.com


User avatar
Active Member

Posts

Joined
Fri Mar 06, 2009 8:22 pm
Location - Spain

Post by cr09 » Sun Apr 04, 2010 1:33 pm

hola gracias por tu respuesta

ya lo baje e instale y si funciona, nadamas que quiero agregarlo a twitterfeed.com para que los ponga automaticamente y me sale este error:

A feed needs to contain publish dates or GUIDs in order to work with twitterfeed

Como puedo hacerlo?

Gracias de nuevo y saludos

New member

Posts

Joined
Tue Jul 14, 2009 3:13 am

Post by Hildebrando » Sun Apr 04, 2010 5:27 pm

Hola:

Faltaba la fecha...

Ahora ya debería funcionar. Revisa la parte de arriba para adaptarlo a tu configuración. Lo he movido a catalog/model

Un saludo,

Hilde

Commercial Contributions:Bulk Specials| Bulk Update Prices|Search Tyre Pro
Free Contributions: Youtube video (oc 1.5.x) | Search History Report (oc 1.5.x) | Product Filter by Category (oc 1.5.x)|Youtube Popup
More Free & commercial mods: www.fpress.com


User avatar
Active Member

Posts

Joined
Fri Mar 06, 2009 8:22 pm
Location - Spain

Post by cr09 » Mon Apr 05, 2010 2:41 am

Ya funciono!!!

Muchas gracias

New member

Posts

Joined
Tue Jul 14, 2009 3:13 am

Post by marqueses » Fri Sep 24, 2010 11:46 pm

Pues a mi no me funciona. Tengo la 1.4.8. Y no me muestra la imagen de ninguno de los productos. ¡Alguien sabe porque?
Mirad:
Tengo dos versiones distintas:

http://www.nokiacare.es/tienda/rss2.php

Code: Select all

<?php

/// Autor: Daniel Carrero (dcarreroc@gmail.com) Keep it ! Please

require_once 'config.php';

$conn =mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);
mysql_select_db(DB_DATABASE,$conn);

DEFINE("LANG_ID",1); // The language can gete from table language
DEFINE("LIMIT",8); // How many articles you want show
DEFINE("RSS_TITLE","Ultimos artículos"); // RSS title
DEFINE("RSS_LINK","www.nokiacare.es/tienda"); // Bussines web address
DEFINE("RSS_DESCRIPTION","Venta de Accesorios y Repuestos Nokia"); // Description

// DESDE ACA NO TOCAR !!!
$sql = ("SELECT name,p.product_id,description,image FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)LANG_ID . "' ORDER BY p.date_added DESC LIMIT " . (int)LIMIT);
$result = mysql_query($sql) or die('Error with query, please report.'.mysql_error());


// Escribimos el archivo RSS
header('Content-type: text/xml; charset="iso-8859-1"',1);
echo '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
echo
'<rss version="0.92">
     <channel>
          <title>'.RSS_TITLE.'</title>
          <link>'.RSS_LINK.'</link>
          <description>'.RSS_DESCRIPTION.'</description>';
while ($item = mysql_fetch_assoc($result)){
     echo "<item>\n" ;
     echo "<title>".$item['name']."</title>\n";
     echo "<link>".HTTP_SERVER."index.php?route=product/product&product_id=".$item['product_id']."</link>\n";
     echo "<description><![CDATA[".html_entity_decode($item['description'])."
     <br /><img width=\"100\" height=\"100\" src=\"".HTTP_IMAGE.$item['image']."\" />]]></description>\n";
     echo "</item>\n";
} 
echo "</channel>";
echo "</rss>";
?>


http://www.nokiacare.es/tienda/rss.php

Code: Select all

<?php

/// Autor: Daniel Carrero (dcarreroc@gmail.com) Keep it ! Please
// Modificado parcialmente por Hilde el 1.IV.2010

require_once 'config.php';

$conn =mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);
mysql_select_db(DB_DATABASE,$conn);

DEFINE("LANG_ID",2); // The language can gete from table language
DEFINE("LIMIT",8); // How many articles you want show
DEFINE("RSS_TITLE","Nokia Care 526"); // Nombre de la tienda que aparecerá en el RSS
DEFINE("RSS_LINK","http://www.nokiacare.es/tienda"); // Bussines web address
DEFINE("RSS_DESCRIPTION","Venta de Accesorios y Repuestos Nokia"); // Description

// DESDE ACA NO TOCAR !!!
$sql = ("SELECT name,p.product_id,description,image, date_modified FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)LANG_ID . "' ORDER BY p.date_added DESC LIMIT " . (int)LIMIT);
$result = mysql_query($sql) or die('Error with query, please report.'.mysql_error());


// Escribimos el archivo RSS
header('Content-type: text/xml; charset="iso-8859-1"',1);
echo '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
echo
'<rss version="0.92">
     <channel>
          <title>'.RSS_TITLE.'</title>
          <link>'.RSS_LINK.'</link>
          <description>'.RSS_DESCRIPTION.'</description>';
while ($item = mysql_fetch_assoc($result)){
     if (empty($item['image'])){
         $imagen = HTTP_IMAGE.'cache\no_image-120x120.jpg';
     }else{
         $imagen = HTTP_IMAGE.$item['image'];
     }
     echo "<item>\n" ;
     echo "<title>".$item['name']."</title>\n";
     echo "<link>".HTTP_SERVER."index.php?route=product/product&product_id=".$item['product_id']."</link>\n";
     echo "<description><![CDATA[".html_entity_decode($item['description'])."
     <br /><img width=\"100\" height=\"100\" src=\"".$imagen."\" />]]></description>\n";
     echo"<img width=\"100\" height=\"100\" src=\"".$imagen."\" />]]> ";
     echo "<pubDate>". date("r", strtotime($item["date_modified"])). "</pubDate>\n" ;
     echo "</item>\n";
}
echo "</channel>";
echo "</rss>";
?>

Newbie

Posts

Joined
Tue Sep 07, 2010 1:16 am

Post by Hildebrando » Sat Sep 25, 2010 12:56 am

Hola:

Sustituye el bucle while del rss.php por este otro:

Code: Select all

while ($item = mysql_fetch_assoc($result)){
    echo 'a';
     if (empty($item['image'])){
        $imagen = HTTP_IMAGE.'cache\no_image-120x120.jpg';
     }else{
         $imagen = HTTP_IMAGE.$item['image'];
     }
     echo "<item>\n" ;
     echo "<title>".$item['name']."</title>\n";
     echo "<link>".HTTP_SERVER."index.php?route=product/product&product_id=".$item['product_id']."</link>\n";
     echo "<description><![CDATA[".html_entity_decode($item['description']) ;
     echo "<br />";
     echo "<img width=\"100\" height=\"100\" src=\"".$imagen."\" />";
     echo "]]></description>\n";
     echo "<pubDate>". date("r", strtotime($item["date_modified"])). "</pubDate>\n" ;
     echo "</item>\n";
}
Debía haber algun caracter raro. Lo he comprobado con la 1.4.9.1 y funciona bien (con fotos)

De todos modos, tienes una alternativa más sencilla que es ir a Extensions/Product Feed y allí activar el Google Base, te copias el código que te crea y ya tienes un RSS (pero sin fotos).

Hilde

Commercial Contributions:Bulk Specials| Bulk Update Prices|Search Tyre Pro
Free Contributions: Youtube video (oc 1.5.x) | Search History Report (oc 1.5.x) | Product Filter by Category (oc 1.5.x)|Youtube Popup
More Free & commercial mods: www.fpress.com


User avatar
Active Member

Posts

Joined
Fri Mar 06, 2009 8:22 pm
Location - Spain

Post by dcarreroc » Sat Sep 25, 2010 1:12 am

Confieso que hace mucho tiempo que no pasaba por acá, lamentablemente he dejado de usar OpenCart, pero seguire apoyandoles en lo que sea necesario, de hecho ya estoy instalando la version para probar el codigo que tienen problemas.

Me alegra mucho que les haya servido este pequeño aporte, estaremos en contacto.

Saludos a todos :D

Newbie

Posts

Joined
Thu Dec 31, 2009 3:53 pm

Post by marqueses » Sat Sep 25, 2010 1:29 am

Pues ya he probado a sustituir el bucle y me sigue dando el mismo problema. La versión que yo tengo es la 1.4.8.

http://nokiacare.es/tienda/rss3.php

EDIT:

Ya funciona, he cambiado dentro del bucle WHILE donde establecía la ruta de la imágen y puesto asi funciona:

Code: Select all

while ($item = mysql_fetch_assoc($result)){
    echo 'a';
     if (empty($item['image'])){
        $imagen = HTTP_IMAGE.'cache\no_image-120x120.jpg';
     }else{
         $imagen = 'image/'.$item['image'];
     }
     echo "<item>\n" ;
     echo "<title>".$item['name']."</title>\n";
     echo "<link>".HTTP_SERVER."index.php?route=product/product&product_id=".$item['product_id']."</link>\n";
     echo "<description><![CDATA[".html_entity_decode($item['description']) ;
     echo "<br />";
     echo "<img width=\"100\" height=\"100\" src=\"".$imagen."\" />";
     echo "]]></description>\n";
     echo "<pubDate>". date("r", strtotime($item["date_modified"])). "</pubDate>\n" ;
     echo "</item>\n";
}
echo "</channel>";
echo "</rss>";
?>

Muchas gracias a todos

Newbie

Posts

Joined
Tue Sep 07, 2010 1:16 am

Post by Meluko_73 » Sun Dec 26, 2010 4:56 am

Hola, estoy recien comenzando en esto de opencart, esoty trantando de habilitar este rss y no me funciona, ya que no me muestra nada, a peser de haber agragado nuevos productos, mi web es www.tonerstore.cl/rss.php si alguine me pudiera dar alguna idea se lo agradeceria, les comento, que he aplicado en novedades, que es donde debieran salir los ultimos articulos, una sentencia que muestras los productos nuevos en random, ademas de haber eliminado el idioma ingles y solo dejar el español, desde ya agradesco mucho su ayuda.

Newbie

Posts

Joined
Sun Dec 26, 2010 4:52 am
Who is online

Users browsing this forum: No registered users and 5 guests