/** * 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;