Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

miércoles, 27 de julio de 2016

Arrays en prestaShop

0

Esto es realmente una tontería, pero a la vez es una de las diferencias de otros lenguajes.Y tal vez os ayude.

Primero recuerda que un array en programación es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo.

Definido el elemento, pongamosnos en posición. Imaginaos que tenemos dos almacenes, y los productos de marca 'manzana' están solo en el segundo almacén de manera exclusiva y por tanto en el pedido tenemos que distinguir esos productos para enviar la petición al segundo almacén. 

Hemos activado un hook que nos avisa cuando un pedido ha sido pagado, dicho hook nos devuelve el número de pedido($id_order).

Los del almacén, funcionan por el código del fabricante(referencia):

/*Te devuelve los códigos de referencia del fabricante del producto*/
$referenciaProducto = "SELECT pp.reference
                                  FROM ps_product pp, ps_order_detail pod
                                  WHERE pod.id_order=$id_order
                                  AND pp.id_product=pod.product_id ";
$referencia  = Db::getInstance()->query($referenciaProducto);

Y ahora llega el momento de comprobar producto por producto, para ello utilizamos la función fetch().

while ($row = $referencia->fetch())
{
     /*Para saber que se esta guardando el $row*/
     print_r($row)
}
die();

resultado:



Vemos que recoge mucha información de cada producto. Y nosotros tenemos que definir, la información exacta que queremos. Hagamos una segunda prueba.

while ($row = $referencia->fetch())
{
     /*Para saber que se esta guardando el reference*/
     print_r($row["reference"]);
}
die();

resultado:
Con esto ya podemos trabajar.

Intentemoslo:

while ($row = $referencia->fetch())
{
   /*te dice si es o no un producto Manzana*/
   $reference=$row["reference"];
   $esManzana = "SELECT PP.reference
                           FROM ps_product_lang PPL, ps_product PP
                           WHERE PP.reference = $reference 
                           AND PPL.name like '% manzana %'
                           AND PPL.id_product=PP.id_product";
   $lmanzana  = Db::getInstance()->query($esManzana);
   if ($manzana != false)
   {
      return $manzana;

   }
}

resultado:


¡Ups! Bueno, no pasa nada, lo forzaremos a leerlo completo con comillas simples
Y así nos quedaría el código. 

/*Te devuelve los códigos de referencia del fabricante del producto*/
$referenciaProducto = "SELECT pp.reference
                                  FROM ps_product pp, ps_order_detail pod
                                  WHERE pod.id_order=$id_order
                                  AND pp.id_product=pod.product_id ";
$referencia  = Db::getInstance()->query($referenciaProducto);
while ($row = $referencia->fetch())
{
   /*te dice si es o no un producto manzana*/
   $reference=$row["reference"];
   $esManzana = "SELECT PP.reference
                           FROM ps_product_lang PPL, ps_product PP
                           WHERE PP.reference = '$reference' 
                           AND PPL.name like '% manzana %'
                           AND PPL.id_product=PP.id_product";
   $manzana  = Db::getInstance()->query($esManzana);
   if ($manzana != false)
   {
          PrestaShopLogger::addlog('EsManzana', 1);

   }

resultado:

Ya lo tenemos ;)

Antes de irme, en caso de un bucle foreach, sería así. 

forecha ($row as $i)
{
      $reference=$i["reference"];    

Related Posts:

  • Si no se te ven algunas imagenes La primera causa puede ser que se haya modificado algo del .htaccess, para solucionarlo debe ir a preferencias > seo&urls, bajas un poco y pul… Read More
  • Aclaraciónes Curl - xml Hay cosas que parecen tontas, pero si no lo sabes, no lo son.  Así que quiero hacer un par de aclaraciones y enseñaron un par de trucos.  … Read More
  • Arrays en prestaShop Esto es realmente una tontería, pero a la vez es una de las diferencias de otros lenguajes.Y tal vez os ayude. Primero recuerda que un array … Read More
  • Añadir grupo de clientes a Categorías Si creas un nuevo grupo de clientes en Prestashop, por defecto no tendrá ninguna categoría asociada. Es decir, este nuevo grupo no podrá ver/acceder … Read More
  • Post request Curl Como enviar un post con un pedido xml con PrestaShop. Aquí os dejo un ejemplo que me han dejado en las prácticas, muy útil! <?php $service_ur… Read More

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)