예제 #1
0
 /**
  * Devuelve un array con las propiedades que están definidas
  * para el artículo en curso.
  * 
  * Cada elemento del array es:
  * 
  * - Id: El id de la propiedad
  * - Titulo: El título de la propiedad
  * - IDTipo: el id de tipo de la propiedad
  * - IDValor: el id del valor actual de la propiedad
  * - Valores: array con los valores posibles para dicha propiedad
  * 
  * @param boolean $valorAditional Si true añade el valor adicional "Indique un valor" en el subarray de valores. Por defato true
  * @return array
  */
 public function getPropiedades($valorAditional = true)
 {
     $array = array();
     switch ($this->TienePropiedades()) {
         case 0:
             break;
         case 1:
             $propiedades = new FamiliasPropiedades();
             $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDCategoria->getIDFamilia()}'");
             break;
         case 2:
             $propiedades = new FamiliasPropiedades();
             $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDFamilia->getIDFamilia()}'");
             break;
         case 3:
             $propiedades = new FamiliasPropiedades();
             $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDSubfamilia->getIDFamilia()}'");
             break;
     }
     foreach ($rows as $row) {
         $propiedad = new Propiedades($row['IDPropiedad']);
         $propiedadesValores = new PropiedadesValores();
         $propArticulo = new ArticulosPropiedades();
         $propiedadesArticulo = $propArticulo->cargaCondicion("IDValor", "IDArticulo='{$this->IDArticulo}' and IDPropiedad='{$row['IDPropiedad']}'");
         $array[$propiedad->getId()] = array('Id' => $propiedad->getId(), 'Titulo' => $propiedad->getTitulo(), 'IDTipo' => $propiedad->getIDTipo()->getIDTipo(), 'IDValor' => $propiedadesArticulo[0]['IDValor'], 'Valores' => $propiedadesValores->getValores($row['IDPropiedad'], $valorAditional));
     }
     unset($propiedadesValores);
     unset($propiedades);
     unset($propiedad);
     return $array;
 }