Example #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;
 }
Autoloader::excludeFolderNamesMatchingRegex('/^CVS|\\..*$/');
Autoloader::setClassPaths(array('../' . $app['framework'], '../entities/', '../lib/'));
spl_autoload_register(array('Autoloader', 'loadClass'));
$v = $_GET;
$relacion = new ArticulosPropiedades();
$rows = $relacion->cargaCondicion("Id", "IDArticulo='{$v['idArticulo']}' and IDPropiedad='{$v['idPropiedad']}'");
$idRelacion = $rows[0]['Id'];
if (!$idRelacion) {
    // Hacer relacion
    $relacion = new ArticulosPropiedades();
    $relacion->setIDArticulo($v['idArticulo']);
    $relacion->setIDPropiedad($v['idPropiedad']);
    $relacion->setIDValor($v['idValor']);
    $relacion->setPublish(1);
    $relacion->create();
} else {
    if ($v['idValor'] > 0) {
        // Actualizar la relación
        $relacion = new ArticulosPropiedades($idRelacion);
        $relacion->setIDValor($v['idValor']);
        $relacion->save();
    } else {
        // Borrar la relación
        $relacion = new ArticulosPropiedades($idRelacion);
        $relacion->erase();
    }
}
$tag = $relacion->getErrores();
$tag = $tag[0];
unset($relacion);
echo $tag;