/** * Devuelve array (Id,Value) con las familias de la firma en curso * * @param string $columna El nombre de la columna a devolver como descripciĆ³n * @return array */ public function getFamilias($columna = "Descripcion") { $familias = new Familias(); $rows = $familias->cargaCondicion("Id,{$columna} Value", "IdFirma='{$this->Id}'", "Descripcion"); unset($familias); return $rows; }
/** * Construye un tag html <select> con todas las subfamilias de una familia dada * @param integer $idFamilia ID de familia * @return string Codigo html con el tag select */ function subfamilias($idFamilia) { $familia = new Familias(); $filtro = "(NivelJerarquico='3') and BelongsTo='{$idFamilia}'"; $rows = $familia->cargaCondicion("Id as Id, Familia as Value", $filtro, "SortOrder ASC"); unset($familia); $ch = "<div class='Etiqueta'>Subfamilia</div>"; $ch .= "<select name='" . $_GET['nameselect'] . "' id='" . $_GET['idselect'] . "' class='Select'>"; foreach ($rows as $row) { $ch .= "<option value='" . $row['Id'] . "'>" . $row['Value'] . "</option>"; } $ch .= "</select>"; return $ch; }
/** * CARGA LA TABLA DE ARTICULOS EN BASE AL OBJETO XML CONSTRUIDO PREVIAMENTE * DEVUELVE UN ENTERO CON EL NUMEROS DE ERRORES PRODUCIDOS EN LA CARGA * A TODOS LOS ARTICULOS SE LE PONE UN 20% DE MARGEN COMERCIAL. * @return int */ static function CargaArticulos() { $margen = '20'; $i = 0; $fallos = 0; echo "<table>"; foreach (self::$xml->producto as $item) { $referencia = str_replace("/", "_", trim($item->referencia)); $familia = self::Limpia($item->categoria1); if ($familia == '') { $familia = 'varios'; } $subfamilia = self::Limpia($item->categoria2); if ($subfamilia == '') { $subfamilia = 'varios'; } $tmp = $item->nombre; $nombre = self::Limpia($tmp); $tmp = $item->descripcion; $descripcion = self::Limpia($tmp); $pvd = str_replace(",", ".", $item->precio); $pvp = $pvd * (1 + $margen / 100); $peso = str_replace(",", ".", $item->peso); //Le quito los espacios en blanco al principio y al final //Los espacios en blanco intermedios los sustituyo por %20 para que la url sea correcta. $imagen = str_replace(" ", "%20", trim($item->urlimagen)); $idfabricante = self::CreaFabricante(self::Limpia($item->fabricante)); //Buscar el id de familia $fam = new Familias(); $rows = $fam->cargaCondicion("IDFamilia", "Familia='{$familia}'"); $idfamilia = $rows[0]['IDFamilia']; //Buscar el id de subfamilia $fam = new Familias(); $rows = $fam->cargaCondicion("IDFamilia", "Familia='{$subfamilia}'"); $idsubfamilia = $rows[0]['IDFamilia']; //CREAR ARTICULO EN LA TABLA TEMPORAL $arti = new Articulos(); $arti->setCodigo($referencia); $arti->setDescripcion($nombre); $arti->setIDFabricante($idfabricante); $arti->setIDCategoria($idfamilia); $arti->setIDFamilia($idsubfamilia); $arti->setPvd($pvd); $arti->setPvp($pvp); $arti->setMargen($margen); $arti->setPeso($peso); $arti->setCaracteristicas($descripcion); $arti->setGarantia("S/F"); $arti->setPublish(1); $arti->setFechaUltimoPrecio($item->fechaultimarevision); $idarti = $arti->create(); if (!$idarti) { $fallos++; echo "<tr><td>", $referencia, "</td><td>", $nombre, "</td><td>", $familia, "</td><td>", $subfamilia, "</td></tr>"; echo "<tr><td colspan=4>", serialize($arti->getErrores()), "</td></tr>"; } else { if ($idarti) { $slug = self::actualizaUrlAmigable('Producto', 'Articulos', $idarti, $nombre); } //COPIAR IMAGEN EN LOCALHOST SI NO EXISTE PREVIAMENTE. if ($imagen != '') { self::copiaImagen(); //if(!file_exists("catalogo/".$referencia.".jpg")) DescargaImagen($referencia,$imagen); } } $i += 1; //if ($i>1000) break; } echo "</table>"; return $fallos; }