Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2012, 09:13
naggety
 
Fecha de Ingreso: agosto-2011
Mensajes: 58
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Tienda online fácilmente integrable con otras partes de la web

Encontré una solución que me pareció aceptable para poder mostrar productos de prestashop desde fuera de este. La verdad, menos mal que lo encontré medio hecho en internet, que me costó lo suyo, ya que prestashop crea 235 tablas en la base de datos (como para aclararse). Aunque le tuve que incluir alguna pequeña modificación, esto debería funcionar (a mi me funciona).

Código PHP:
Ver original
  1. <?
  2. $db_host="localhost"; // Host al que conectar, habitualmente es el ‘localhost’
  3. $db_nombre="tienda"; // Nombre de la Base de Datos que se desea utilizar
  4. $db_user="nombreusuario"; // Nombre del usuario con permisos para acceder
  5. $db_pass="passusuario"; // Contraseña de dicho usuario
  6. $link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
  7. // Seleccionamos la base de datos que nos interesa
  8. mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
  9. // Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
  10. //return $link;
  11.  
  12. ?>
  13.  
  14. <!--<img src="<? echo IMGTIENDA ?>" width="148" height="21">-->
  15. <table  align="center" width="100%"  cellpadding="0" cellspacing="0"  >
  16. <?php
  17.  
  18. $url_tienda="/tienda/"; //dirección de donde tenemos instalada nuestra tienda
  19. $numcolumnas = 2;  //numero de columnas
  20. $cant_productos=6; //Cantidad de productos a mostrar
  21. $id_idioma=    4; //idioma en el que queremos recuperar los datos
  22. $porcentaje_IVA = 18;
  23.  
  24. $sql = "select ps_image.id_product, id_image , price, name from ps_image, ps_product, ps_product_lang WHERE ps_image.id_product = ps_product.id_product
  25. group by ps_image.id_product order by rand()  LIMIT $cant_productos";
  26.  
  27. $consulta = mysql_query($sql);
  28. $total_resultados = mysql_num_rows($consulta);
  29. if ($total_resultados>0)
  30. {
  31.     echo "<tr valign='top'  align='left'><td colspan=\"$numcolumnas\"></td></tr>";
  32.     $i = 1;
  33.     while ($row = mysql_fetch_object($consulta))
  34.     {
  35.         $resto = ($i % $numcolumnas);
  36.         $sqlobtener="select name from ps_product_lang where id_product='{$row->id_product}' and id_lang='$id_idioma'";
  37.         $consutlasql=mysql_query($sqlobtener);
  38.         $registrosql=mysql_fetch_array($consutlasql);
  39.         if($resto == 1) { /*si es el primer elemento creamos una nueva fila*/
  40.             echo "<tr valign='top'  align='left'>";
  41.         }
  42.         $img_path = preg_replace ("/[^0-9]*/","/",$row->id_image );
  43.         echo "<td align='center'  >
  44.  
  45.         <br><a href='$url_tienda?id_product={$row->id_product}&controller=product&id_lang=$id_idioma' target='blank_'>
  46.         <img  style='border-color:#F90' src='{$url_tienda}img/p$img_path{$row->id_image}-medium_default.jpg'  /></a>".utf8_encode($registrosql[name])."<br>";
  47.         $precio=(($row->price*$porcentaje_IVA)/100 )+$row->price;
  48.         $preu = number_format($precio, 2, ',', '');
  49.         echo $preu." Euros <br>
  50.         <a href='$url_tienda?id_product={$row->id_product}&controller=product&id_lang=$id_idioma' target='blank_'>".VER."</a> <br>";
  51.         echo "</td>";
  52.         /*mostramos el valor del campo especificado*/
  53.         if($resto == 0) {/*cerramos la fila*/
  54.             echo "</tr>";
  55.         }
  56.         $i++;
  57.     }
  58.     if($resto != 0) {/*Si en la última fila sobran columnas, creamos celdas vacías*/
  59.         for ($j = 0; $j < ($numcolumnas - $resto); $j++) {
  60.             echo "<td></td>";
  61.         }
  62.         echo "</tr>";
  63.     }
  64. }
  65. else {
  66.     echo "  ";
  67. }
  68. ?>
  69.     <tr>
  70.         <td height="50" colspan="3" align="center" valign="bottom"><a href="<? echo $url_tienda."lang=".$id_idioma; ?>" target="_blank"><img src="<? echo IMGIRTIENDA; ?>" width="140" height="33" border="0"></a></td>
  71.     </tr>
  72. </table>
  73. ?>