Comparador de precios Comparador de precios


Cantidad de veces que se ha visto un producto

Recopilacion de contribuciones interesantes para nuestras tiendas.
Comercianos no se hace responsable de los posibles errores, perdidas o cualquier otro desastre que puedan ocasionar las instalaciones. Todo el merito de las contribuciones expuestas en el foro se deben al autor y posteriores colaboradores y son extraidas de la pagina oficial de oscommerce
Reglas del Foro
http://www.comercianos.com/reglas-del-foro-t61.html

Realizad siempre una copia de seguridad antes de realizar modificaciones. Realizad las modificaciones bajo vuestra responsabilidad, comercianos no sera responsable en ningun caso de los errores o perdidas que pudieran producirse.
  • Anuncio
boxbonux

Cantidad de veces que se ha visto un producto

Notapor reflex_ocasion » Lun Jun 11, 2012 2:00 pm

Hace no mucho tiempo alguien preguntó como hacer para que en la descripción del producto anunciado (product_info) saliera la cantidad de veces que se había visto ese anuncio

A eso se le dió una solución que no encuentro ahora mismo y se concretó mejor porque yo lo puse para que saliera solo en el idioma en el que estabamos. Si tenemos mas de un idioma, en cada uno de ellos sale una cantidad distinta y Figue dió la solución para que se sumaran todos

Ahora se me ha terciado una cosa similar porque lo he visto en otra web y se me ha "antojado" ponerlo en la mía :redface:

Resulta que vi en una web la cantidad de unidades vendidas de ese producto y aqui pongo como lo hice. De paso repito todo el proceso anterior

Abrimos catalog/includes/languages/espanol/product_info.php (y por ende el resto de idiomas que tengamos traduciendo los textos) donde añadimos antes de ?> final
Código: Seleccionar todo
// product viewed + venta
define('TEXT_VIEWED_1', 'Este producto se ha visto ');
define('TEXT_VIEWED_2', ' veces');
define('TEXT_VENTA_1', ' y se han vendido ');
define('TEXT_VENTA_2', ' unidades');


Ahora abrimos catalog/product_info.php y buscamos
Código: Seleccionar todo
    $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
    $product_info = tep_db_fetch_array($product_info_query);


Justo encima añadiremos (esto es de Figue)
Código: Seleccionar todo
// Numero de visitas del producto
    $product_viewed_query = tep_db_query("select sum(pd.products_viewed) as products_viewed from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id "); // Asi obtenemos el total de visitas sumando las que hay en cada idioma
    $product_viewed = tep_db_fetch_array($product_viewed_query);
   $product_viewed = $product_viewed['products_viewed'];
// Fin Numero de visitas del producto


y dentro de la query añadiremos a continuación de p.products_quantity lo siguiente
Código: Seleccionar todo
pd.products_viewed, p.products_ordered,


Lo primero es para que sume el total de veces que se ha visto ese producto anunciado en todos los idiomas que tengamos. Lo segundo son las consultas a la base de datos para que nos muestre lo que queremos que nos muestre mas adelante

Ahora buscamos en el mismo archivo (esto es orientativo, podemos ponerlo en otro lado que no sea por encima de los comentario recibidos)
Código: Seleccionar todo
        </td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
<?php
    $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
    $reviews = tep_db_fetch_array($reviews_query);
    if ($reviews['count'] > 0) {
?>


Aqui vamos a sustituir o reemplazar esa primera etiqueta de cierre </td> por todo esto
Código: Seleccionar todo
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td align="left" class="main"><?php echo TEXT_VIEWED_1 . '<strong><span style="color: #ff0000;">' . $product_info['products_viewed'] . '</span></strong>' . TEXT_VIEWED_2; ?>
<?php
  if ($product_info['products_ordered'] > 2) { // el numero indica el minimo a mostrar, por debajo no se muestra
?>
  <?php echo ' ' . TEXT_VENTA_1 . '<strong><span style="background-color: #FFCC99;">&nbsp;' . $product_info['products_ordered'] . '&nbsp;</span></strong>' . TEXT_VENTA_2; ?>
<?php
  }
?>
        !</td>


Lo de sustituir o reemplazar la etiqueta de cierre es poner delante el signo de exclamación, para que salga al final del texto ... visto xxxx veces! si no ha llegado a un mínimo de ventas o que salga al final de ...xxxx unidades vendidas! cuando haya pasado de ese mínimo. Si no lo queremos así con quitarlo es suficiente

Observad el detalle de la línea 7 de este último código
Código: Seleccionar todo
if ($product_info['products_ordered'] > 2) { // el numero indica el minimo a mostrar, por debajo no se muestra


Yo creo que está claro. El número indica el mínimo de unidades vendidas a mostrar. Si pasa de ese mínimo se mostrará el resto del texto/código y si llega o no lo alcanza no saldrá esta parte. Osea, que solo he vendido 2 unidades o menos no sale nada, pero si he vendido tres unidades o mas si saldrá el texto informativo junto a la cantidad correspondiente de unidades vendidas

Esta parte ya queda a gusto o preferencias de cada uno, que cada cual ponga el número que quiera, incluso el cero, así si vende aunque sea una sola unidad le saldrá el texto

Espero que le sirva a mas de uno :angle:


Saludos
reflex_ocasion
Moderador Global
 
Mensajes: 696
Registrado: Jue Ene 13, 2011 10:25 pm
Ubicación: Mijas Costa (Málaga)

Re: Cantidad de veces que se ha visto un producto

Notapor Skualos » Mar Jun 12, 2012 1:25 am

Skualos
Moderador Global
 
Mensajes: 3215
Registrado: Mié Feb 09, 2011 9:17 pm
Ubicación: Palafrugell

Re: Cantidad de veces que se ha visto un producto

Notapor reflex_ocasion » Mar Jun 12, 2012 2:00 am

No, no era esa, era otra. Recuerdo que alguien preguntó, y si no recuerdo mal era una chica de Canarias. Yo le di la solución y nos encontramos con el problema de que mostraba la cantidad de veces que se había visto el producto independientemente por idiomas. Salía, por poner un ejemplo, que se había visto 15 veces en español, 9 en inglés y 1 en aleman. Cada vez que cambiabas de idioma te mostraba la cantidad de veces que se había visto en ese idioma, una cantidad distinta cada vez

Figue hizo esa parte a añadir encima de la query que lo sumara todo. Con eso da igual a que idioma entres, siempre te va a mostrar la suma, 15+9+1=25 en este ejemplo

Claro que esto también tiene una pequeña pega, cuenta por visitas, no por sesiones. Eso quiere decir que cada vez que refresques la pantalla te aumenta en uno mas el contador. Pero esto es un mal menor que se puede dejar pasar sin problemas

La cuestion es que busqué para añadir lo nuevo y no lo encontré, por eso he abierto un nuevo hilo poniendo lo viejo y añadiendo lo nuevo, añadiendo mi "antojo" :redface:


Leyendo el hilo que comentas... dice mas o menos lo mismo que yo he hecho, pero yo lo tengo multi-idiomas. La parte de la query es la misma, pero la parte de mas abajo, el texto y la ubicación a mostrar dicho texto no lo es

Poniendolo de esa manera sale siempre en español en el sitio donde lo pongas si no te da error al ponerlo, claro está, si no se te descuadra algo por ponerlo en un sitio sin saber exactamente donde lo estás poniendo (dice que lo pongas, pero no dice donde has de ponerlo). Poniéndolo como digo yo sale en todos los idiomas que tengas en un lugar en concreto y sin errores

Ademas yo lo pongo con una variable para que se muestre según el mínimo de unidades vendidas mientras que de la otra manera sale siempre, tenga ventas o no la tenga. Si no tiene ventas... queda muy mal que te salga el texto se han vendido 0 unidades ¿captas la diferencia? con la variable eso no pasa, no se muestra el texto en caso de no tener ventas aún

Dicho de otra manera, que como dice hogarmenaje está bien, pero como digo yo está mejor. De haberme dado cuenta antes lo hubiese publicado a continuación de su post, no en uno nuevo


Saludos
reflex_ocasion
Moderador Global
 
Mensajes: 696
Registrado: Jue Ene 13, 2011 10:25 pm
Ubicación: Mijas Costa (Málaga)

Re: Cantidad de veces que se ha visto un producto

Notapor hogarmenaje » Vie Jun 15, 2012 9:35 pm

interesante...

lo de ocultar si el valor es 0

:)

saludos
hogarmenaje
Moderador Global
 
Mensajes: 439
Registrado: Sab Abr 23, 2011 12:17 pm

Re: Cantidad de veces que se ha visto un producto

Notapor hogarmenaje » Vie Jun 15, 2012 9:54 pm

estupendo!

He aprovechado la función If ;)

saludos
hogarmenaje
Moderador Global
 
Mensajes: 439
Registrado: Sab Abr 23, 2011 12:17 pm

Re: Cantidad de veces que se ha visto un producto

Notapor reflex_ocasion » Vie Jun 15, 2012 10:00 pm

if que hay que aprovechar! :lol:
reflex_ocasion
Moderador Global
 
Mensajes: 696
Registrado: Jue Ene 13, 2011 10:25 pm
Ubicación: Mijas Costa (Málaga)

Re: Cantidad de veces que se ha visto un producto

Notapor hogarmenaje » Vie Jun 15, 2012 10:37 pm

la verdad es que ni se me habia ocurrido lo de ocultar si es 0

mucho mejor así.

txs.

saludos
hogarmenaje
Moderador Global
 
Mensajes: 439
Registrado: Sab Abr 23, 2011 12:17 pm

Re: Cantidad de veces que se ha visto un producto

Notapor reflex_ocasion » Vie Jun 15, 2012 10:58 pm

Cuando todo lo que tienes tiene ventas es un detalle tonto sin importancia, pero si tienes cosas sin vender aún (puede ser una novedad) la verdad es que es un detalle que si hay que tener en cuenta porque queda mal que salga el texto unidades vendidas: cero patatero

Eso da una mala impresión, da igual si es porque lo acabas de anunciar como que si lleva tiempo anunciado. Es mas, si lleva tiempo anunciado es peor porque no da ninguna confianza al posible comprador, le hace pensar que el producto no es muy bueno que digamos en el mejor de los casos

Precisamente por eso tengo comentada la linea de product_info que dice desde cuando está anunciado el producto en venta. No por este caso concreto sino porque si pasa demasiado tiempo da una mala impresión, la gente puede llegar a creerse que tengo eso desde entonces y que nunca lo he vendido. Vamos, que estoy vendiendo algo viejo, nunca se les pasa por la cabeza que se haya podido reponer varias veces desde que se anunció por primera vez en 2008 por poner una fecha

Hay un dicho muy simple: piensa mal y acertarás

Saludos
reflex_ocasion
Moderador Global
 
Mensajes: 696
Registrado: Jue Ene 13, 2011 10:25 pm
Ubicación: Mijas Costa (Málaga)


Volver a Contribuciones Interesantes

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron