public function IndexAction()
 {
     $array = array();
     $atributos = new Propiedades();
     $rows = $atributos->fetchAll('Titulo', false);
     unset($atributos);
     foreach ($rows as $row) {
         $array[$row['Id']]['Titulo'] = $row['Value'];
         $valor = new PropiedadesValores();
         $valores = $valor->getValores($row['Id']);
         unset($valor);
         foreach ($valores as $valor) {
             $array[$row['Id']]['Valores'][$valor['Id']] = $valor['Valor'];
         }
     }
     $articulo = new Articulos();
     $rows = $articulo->cargaCondicion("IDArticulo", "BelongsTo='{$this->request[2]}'");
     unset($articulo);
     foreach ($rows as $row) {
         $articulos[] = new Articulos($row['IDArticulo']);
     }
     $this->values['articulos'] = $articulos;
     $this->values['propiedadesValores'] = $array;
     $this->values['idArticulo'] = $this->request[2];
     return array('template' => $this->entity . '/index.html.twig', 'values' => $this->values);
 }
예제 #2
0
 /**
  * Devuelve un array con las propiedades y valores asignadas
  * a la familia en curso.
  * 
  * Si el parámetro $todas es false se incluyen todas las propiedades pero
  * con una marca a false para las propiedades que no están asignadas.
  * 
  * Si el parámetro $todas es true se incluyen solo las propiedades asignadas
  * y con la marca a true
  * 
  * El indice el array es el id de la propiedad y tiene dos elementos:
  * 
  * - Titulo: el titulo de la propiedad
  * - Asignada: true o false
  * - Filtrable: true o false
  * - Valores: array de valores (Id,Value)
  * 
  * @param boolean $todas
  * @return array
  */
 public function getPropiedades($todas = false)
 {
     $propiedades = array();
     $propiedad = new Propiedades();
     // Cojo todas las propiedades
     $aux = $propiedad->fetchAll('Titulo', false);
     foreach ($aux as $item) {
         $propiedadesTodas[$item['Id']] = $item['Value'];
     }
     // Cojo las que están asignadas a la familia
     $familiaPropiedad = new FamiliasPropiedades();
     $rows = $familiaPropiedad->cargaCondicion("IDPropiedad, Filtrable", "IDFamilia='{$this->IDFamilia}'");
     $valores = new PropiedadesValores();
     foreach ($rows as $row) {
         $propiedades[$row['IDPropiedad']] = array('Id' => $row['IDPropiedad'], 'Titulo' => $propiedadesTodas[$row['IDPropiedad']], 'Asignada' => true, 'Filtrable' => $row['Filtrable'], 'Valores' => $valores->getValores($row['IDPropiedad']));
     }
     if ($todas) {
         foreach ($propiedadesTodas as $key => $titulo) {
             if (!isset($propiedades[$key])) {
                 $propiedades[$key] = array('Id' => $key, 'Titulo' => $propiedadesTodas[$key], 'Asignada' => false, 'Valores' => $valores->getValores($key));
             }
         }
     }
     return $propiedades;
 }