public function updateAction($id)
 {
     $this->view->categorias = Categorias::getDados();
     $produto = Produtos::findById($id);
     $arr = array();
     if (!empty($produto->imagens)) {
         $imagens = Imagens::find("id in (" . implode(',', $produto->imagens) . ")");
         for ($i = 0; $i < count($produto->imagens); $i++) {
             foreach ($imagens as $key => $value) {
                 if ($value->id == $produto->imagens[$i]) {
                     $arr[] = $value;
                 }
             }
         }
     }
     $this->view->imagens = (object) $arr;
     $this->view->form = new ProdutoForm($produto, array('edit' => true));
     $this->view->relacionado_form = new ProdutosRelacionadosForm($produto, array('edit' => true));
     $form = array();
     if ($this->ecommerce_options->produto_detalhes == '1') {
         foreach ($produto->detalhes as $key => $value) {
             $form[] = new ProdutoDetalheForm((object) $value, array('edit' => true));
         }
         $this->view->form_detalhes = $form;
     }
     if ($this->request->isPost()) {
         $this->save($produto);
     }
     $this->view->produto = $produto;
 }
 public function variacaoAction($produto, $id, $detalhe, $posicao)
 {
     $this->view->produto = Produtos::findById($id);
     $this->view->categoria = Categorias::findById($this->view->produto->categoria);
     $this->view->categoria_nome = $this->base->sanitizeString($this->view->categoria->nome);
     $this->view->detalhe = $detalhe;
     $this->view->posicao = $posicao;
 }
예제 #3
0
 protected function getCategorias()
 {
     $categorias = Categorias::find(array('conditions' => array('parent' => null)));
     $html = '<select id="search-categoria" class="' . $this->options['categoria_select_class'] . '">';
     $html .= '<option value="">Todas</option>';
     foreach ($categorias as $key => $value) {
         $html .= '<option value="' . $value->_id . '">' . $value->nome . '</option>';
     }
     $html .= '</select>';
     return $html;
 }
예제 #4
0
 public function beforeSave()
 {
     if ($this->parent != '') {
         $pai = Categorias::findById($this->parent);
         if (!empty($pai)) {
             array_push($pai->subcategorias, $this->getId());
             $pai->subcategorias = array_unique($pai->subcategorias);
             $pai->save();
         }
     }
 }
 /**
  * Initialize the products form
  */
 public function initialize($model = null, $options = array())
 {
     $nome = new Text("nome");
     $nome->setLabel("Nome");
     $nome->setFilters(array('striptags', 'string'));
     $nome->setAttribute('class', 'form-control');
     $this->add($nome);
     if (is_null($model)) {
         $categoria = new Select("parent", Categorias::returnArrayForSelect(), array('using' => array('_id', 'nome'), 'useEmpty' => true, 'emptyText' => 'Nenhuma', 'emptyValue' => ''));
         $categoria->setLabel("Selecione a categoria pai*");
         $categoria->setAttribute('class', 'form-control');
         $this->add($categoria);
     }
 }
 public function paginacaoAction($id, $pagina)
 {
     $categoria = Categorias::findById($id);
     if (!empty($categoria->subcategorias)) {
         $array = Categorias::getChildrensIds($categoria);
         $array[] = $categoria->_id;
         $this->view->indice = $array;
     } else {
         $this->view->indice = $id;
     }
     $this->view->id = $id;
     $this->view->pagina = $pagina;
     $this->view->filtros = $this->session->get('filtros');
     $this->view->disableLevel(View::LEVEL_AFTER_TEMPLATE);
 }
예제 #7
0
 public function setData($array)
 {
     $itens = '';
     if ($array['home']) {
         $replaces = array($array['item_class'], $array['home_class'], $this->url_base, $array['home_text'], '');
         $itens .= parent::replaceWraper(5, $replaces, $array['item_wrap']);
     }
     foreach (Categorias::getDadosMenu() as $key => $value) {
         if ($array['submenu']) {
             $submenu = $this->setSubmenu($value->subcategorias, $array);
         } else {
             $submenu = '';
         }
         $opcoes_sub = array($array['submenu_id'], $array['submenu_class'], $submenu);
         $replaces = array($array['item_class'], $array['item_link_class'], parent::generateUrl($value->nome, $value->_id, 'categoria'), $submenu != '' ? $value->nome . ' <i class="fa fa-angle-down"></i>' : $value->nome, $submenu != '' ? parent::replaceWraper(3, $opcoes_sub, $array['menu_wrap']) : '');
         $itens .= parent::replaceWraper(5, $replaces, $array['item_wrap']);
     }
     return $itens;
 }
예제 #8
0
 /**
  * Initialize the products form
  */
 public function initialize($entity = null, $options = array())
 {
     $this->add(new Text("nome"));
     // $produto = new Select("produto_id", Produtos::returnArrayForSelect(), array(
     //     'using' => array('_id', 'nome'),
     //     'useEmpty'   => true,
     //     'emptyText'  => 'Nenhum ...',
     //     'emptyValue' => null,
     // ));
     // $produto->setLabel('Produto');
     // $this->add($produto);
     $categoria = new Select("categoria_id", Categorias::returnArrayForSelect(), array('using' => array('_id', 'nome'), 'useEmpty' => true, 'emptyText' => 'Nenhum ...', 'emptyValue' => 0));
     $categoria->setLabel('Categoria');
     $this->add($categoria);
     $posicao = new Select("posicao_id", Posicao::find(), array('using' => array('id', 'nome')));
     $posicao->setLabel('Local');
     $this->add($posicao);
     $this->add(new Text("link"));
     $descricao = new TextArea("descricao");
     $descricao->setLabel("Descrição");
     $descricao->setAttribute('rows', '10');
     $this->add($descricao);
     $this->add(new Numeric("ordem"));
 }
 protected function getCategorias($array)
 {
     $categorias = Categorias::findById($array['categoria_id']);
     $dados = Categorias::getChildrens($categorias);
     $items = '';
     foreach ($dados->subcategorias as $key => $value) {
         $replaces = array($array['item_class'], $array['link_class'], parent::generateUrl($value['nome'], $value['id'], 'categoria'), '', $value['nome'], '');
         $items .= parent::replaceWraper(6, $replaces, $array['item_wrap']);
     }
     return $items;
 }
예제 #10
0
 /**
  * Initialize the products form
  */
 public function initialize($entity = null, $options = array())
 {
     $nome = new Text("nome");
     $nome->setLabel("Nome");
     $nome->setAttribute('class', 'form-control');
     $this->add($nome);
     $categoria = new Select("categoria", Categorias::returnArrayForSelect(), array('using' => array('_id', 'nome')));
     $categoria->setLabel("Categoria");
     $categoria->setAttribute('class', 'form-control');
     $this->add($categoria);
     #Opçõs setadas dinamicamente
     $detalhes = unserialize($this->ecommerce_options->produto_options);
     if (!empty($detalhes)) {
         foreach ($detalhes as $key => $value) {
             if ($value['referencia'] != '') {
                 $chave = $key;
                 $chave = new Select("{$value['label']}", $value['referencia']::find(array('order' => 'nome ASC')), array('using' => array('nome', 'nome'), 'useEmpty' => true, 'emptyText' => 'Nenhum ...', 'emptyValue' => null));
                 $chave->setLabel($value['label']);
                 $chave->setAttribute('class', 'form-control ' . $value['label']);
                 if (isset($obj) && !is_null($obj)) {
                     $chave->setDefault($obj->{$value}['label']);
                 }
                 $this->add($chave);
             }
         }
     }
     #Caso detalhes do produto esteja habilitado
     if ($this->ecommerce_options->produto_detalhes == '0') {
         $valor = new Text("valor");
         $valor->setAttribute('class', 'form-control money');
         $this->add($valor);
         $desconto = new Text("desconto");
         $desconto->setAttribute('class', 'form-control money');
         $this->add($desconto);
         $estoque = new Numeric("estoque");
         $estoque->setAttribute('class', 'form-control');
         $estoque->setAttribute('rows', '5');
         $this->add($estoque);
     }
     $descricao = new TextArea("resumo");
     $descricao->setLabel("Descrição Resumida");
     $descricao->setAttribute('class', 'form-control');
     $descricao->setAttribute('rows', '5');
     $this->add($descricao);
     $descricao = new TextArea("descricao");
     $descricao->setLabel("Descrição Completa");
     $descricao->setAttribute('class', 'form-control summernote');
     $descricao->setAttribute('rows', '10');
     $this->add($descricao);
     $destaque = new Select('destaque', array(0 => 'Não', 1 => 'Sim'));
     $destaque->setLabel('Destaque');
     $destaque->setAttribute('class', 'form-control');
     $this->add($destaque);
     $ativo = new Select('ativo', array(0 => 'Não', 1 => 'Sim'));
     $ativo->setLabel('Ativo');
     $ativo->setAttribute('class', 'form-control');
     $this->add($ativo);
     if ($this->ecommerce_options->produto_cubagem_detalhe == '0') {
         #Input Estoque
         $peso = new Numeric("peso");
         $peso->setLabel("peso");
         $peso->setAttribute('class', 'form-control');
         $this->add($peso);
         #Input Estoque
         $altura = new Numeric("altura");
         $altura->setLabel("altura");
         $altura->setAttribute('class', 'form-control');
         $this->add($altura);
         #Input Estoque
         $largura = new Numeric("largura");
         $largura->setLabel("largura");
         $largura->setAttribute('class', 'form-control');
         $this->add($largura);
         #Input Estoque
         $comprimento = new Numeric("comprimento");
         $comprimento->setLabel("comprimento");
         $comprimento->setAttribute('class', 'form-control');
         $this->add($comprimento);
     }
     $meta_title = new Text("meta_title");
     $meta_title->setLabel("Meta Title");
     $meta_title->setAttribute('class', 'form-control');
     $this->add($meta_title);
     $meta_description = new TextArea("meta_description");
     $meta_description->setLabel("Meta Description");
     $meta_description->setAttribute('class', 'form-control');
     $meta_description->setAttribute('rows', '5');
     $this->add($meta_description);
     $meta_keywords = new TextArea("meta_keywords");
     $meta_keywords->setLabel("Meta Keywords");
     $meta_keywords->setAttribute('class', 'form-control');
     $meta_keywords->setAttribute('rows', '5');
     $this->add($meta_keywords);
 }
 public function deleteAction($id)
 {
     $categoria = Categorias::findById($id);
     $exec = $categoria->delete();
     parent::notifica($exec, array('controller' => 'categoria', 'action' => 'index'));
 }