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 setData($array) { $itens = ''; if ($array['categoria'] == '') { $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '0'"); } else { $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '{$array['categoria']}'"); } $criteria['order'] = 'ordem asc'; $banner = Banners::find($criteria); foreach ($banner as $key => $value) { $arr = array(); for ($i = 0; $i < count(unserialize($value->imagens)); $i++) { $imagem = unserialize($value->imagens); $img = Imagens::findFirst("id = " . $imagem[$i])->toArray(); $arr[] = $img; } if ($this->options['background'] && count($arr) > 1) { $img = "<img src='" . $this->url_base . $arr[1]['url'] . "' class='img-responsive'/>"; } else { if (!$this->options['background']) { $img = "<img src='" . $this->url_base . $arr[0]['url'] . "' class='img-responsive'/>"; } else { $img = ''; } } $replaces = array($array['slide_item_id'], $array['slide_item_class'], $img, $array['caption'] ? $this->setCaption($value, $key) : ''); $itens .= parent::replaceWraper(4, $replaces, str_replace('BACKGROUND', 'style="background-image:url(' . $this->url_base . $arr[0]['url'] . ');"', $array['slide_item_wrap'])); } return $itens; }
protected function setImagem($img, $param, $after, $before, $identificador = 0) { if ($img == 0) { $img = new \stdClass(); $img->url = '/img/no-image.jpg'; } else { $img = Imagens::findFirst($img); } $imagem = $param == 'item' ? $after : ''; $attr = ''; foreach ($this->layout[$param . '_imagem_attr'] as $key => $value) { $attr .= $key . '=' . $value . ' '; if (isset($this->ecommerce_options->galeria) && $this->ecommerce_options->galeria != '') { $attr .= 'data-galeria="' . $this->ecommerce_options->galeria . '"'; } } $img_url = $this->url_base . $img->url; $size = explode('x', $this->ecommerce_options->imagem_size); $src = "{$this->url_base}public/{$img->url}&q=90&w={$size[0]}&h={$size[1]}&zc=2"; $img = "{$this->url_base}public/timthumb?src={$src}'"; if ($this->layout['identificador']) { $wrap = str_replace('_IDENTIFICADOR_', $identificador, $this->layout[$param . '_imagem_wrap']); $wrap = str_replace('_ZOOM_', $img_url, $wrap); $wrap = str_replace('_IMAGE_', $img, $wrap); } else { $wrap = $this->layout[$param . '_imagem_wrap']; } if ($param == 'item') { $imagem .= parent::replaceWraper(3, array($img, $attr, "data-zoom-image='{$img_url}'"), $wrap); } else { $imagem .= parent::replaceWraper(2, array($img, $attr), $wrap); } $imagem .= $param == 'item' ? $before : ''; return $imagem; }
public function updateAction($id) { $model = Banners::findFirst($id); $this->view->imagens = Imagens::find("id in (" . implode(',', unserialize($model->imagens)) . ")"); $this->view->form = new BannerForm($model, array('edit' => true)); $this->view->banner = $model; if ($this->request->isPost()) { $this->save($model); } }
public function deleteAction() { if ($this->request->isAjax()) { $this->view->disable(); $imagem = Imagens::findFirst('id = ' . $this->request->getPost('id')); if ($imagem->delete()) { $this->response->setContent(json_encode(array('status' => true, 'mensagem' => 'Deletado com sucesso'))); } else { $this->response->setContent(json_encode(array('status' => false, 'mensagem' => 'Houve um erro: Imagem não pode ser deletada'))); } return $this->response; } }
public function updateAction($id) { $model = Banners::findFirst($id); $arr = array(); for ($i = 0; $i < count(unserialize($model->imagens)); $i++) { $imagem = unserialize($model->imagens); $img = Imagens::findFirst("id = " . $imagem[$i]); $arr[] = $img; } $this->view->imagens = $arr; $this->view->form = new BannerForm($model, array('edit' => true)); $this->view->banner = $model; if ($this->request->isPost()) { $this->save($model); } }
public function setData($array) { $itens = ''; if ($array['categoria'] == '') { $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '0'"); } else { $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '{$array['categoria']}'"); } $criteria['order'] = 'ordem asc'; $banner = Banners::find($criteria); foreach ($banner as $key => $value) { $imagem = Imagens::findFirst("id in (" . implode(',', unserialize($value->imagens)) . ")")->url; $replaces = array($array['slide_item_id'], $array['slide_item_class'], "<img src='" . $this->url_base . $imagem . "' class='img-responsive'/>", $array['caption'] ? $this->setCaption($value, $key) : ''); $itens .= parent::replaceWraper(4, $replaces, $array['slide_item_wrap']); } return $itens; }
protected function getThumbnail($obj) { if (!empty($obj->imagens)) { $imagem = Imagens::findFirst($obj->imagens[0])->url; } else { $imagem = 'img/no-image.jpg'; } if ($this->ecommerce_options->produto_detalhes == '1') { $index = parent::arrayMultiSearch($this->detalhes, 'label', 'cor'); if (!is_null($index)) { if (isset($obj->detalhes[0]['cor'])) { $cor = $obj->detalhes[0]['cor']; if (isset($obj->imagem_detalhes) && array_key_exists($cor, $obj->imagem_detalhes)) { $imagem = Imagens::findFirst($obj->imagem_detalhes[$cor][0])->url; } } } } $size = explode('x', $this->ecommerce_options->thumbnail_size); $src = "?src={$this->url_base}public/{$imagem}&q=90&w={$size[0]}&h={$size[1]}&zc=2"; return "<img src='{$this->url_base}public/timthumb{$src}' alt='{$obj->nome}' class='img-responsive'>"; }
public function searchAction() { if ($this->request->isPost()) { if (isset($_POST['q'])) { $this->view->disable(); $arr = array(); $param = $this->request->getPost('q'); $produtos = Produtos::find(array('conditions' => array('nome' => new \MongoRegex("/{$param}/i")))); foreach ($produtos as $key => $value) { $arr[$key]['id'] = (string) $value->_id; $arr[$key]['name'] = $value->nome; $arr[$key]['imagem'] = $this->ecommerce_options->url_base . Imagens::findFirst($value->imagens[0])->url; $arr[$key]['url'] = $this->base->generateUrl($value->nome, $value->_id, 'produto'); } $this->response->setHeader("Content-Type", "application/json"); return $this->response->setContent(json_encode($arr)); } else { $this->view->indice = 0; $this->view->pagina = 0; $this->view->filtros = array(); $this->view->search = true; } } }
protected function getItens($param) { $html = ''; $size = 90 / count($this->options['produtos']); foreach ($this->options['produtos'] as $key => $value) { $html .= '<td style="width:' . $size . '%">'; if ($param == 'imagem') { $imagem = Imagens::findFirst($value['imagens'][0])->url; $html .= '<img src="' . $this->url_base . $imagem . '" class="img-responsive" width="150px" />'; } else { if ($param == 'valor' || $param == 'peso' || $param == 'dimensões') { if ($param == 'valor') { $desconto = parent::getDesconto($value); if ($this->ecommerce_options->produto_detalhes == '1') { $html .= 'R$ ' . number_format($value['detalhes'][0][$param] - $desconto, 2, ',', '.'); if ($desconto != 0) { $html .= '<span class="preco-desconto">R$ ' . number_format($value['detalhes'][0][$param], 2, ',', '.') . '</span>'; } } else { $html .= 'R$ ' . number_format($value[$param] - $desconto, 2, ',', '.'); if ($desconto != 0) { $html .= '<span class="preco-desconto">R$ ' . number_format($value[$param], 2, ',', '.') . '</span>'; } } } else { if ($param == 'dimensões') { if ($this->ecommerce_options->produto_cubagem_detalhe == '1') { $html .= $value['detalhes'][0]['altura'] . ' / ' . $value['detalhes'][0]['largura'] . ' / ' . $value['detalhes'][0]['comprimento'] . ' CM'; } else { $html .= $value['altura'] . ' / ' . $value['largura'] . ' / ' . $value['comprimento'] . ' CM'; } } else { if ($param == 'peso') { if ($this->ecommerce_options->produto_cubagem_detalhe == '1') { $html .= $value['detalhes'][0][$param]; } else { $html .= $value[$param]; } $html .= ' KG'; } else { $html .= $value['detalhes'][0][$param]; } } } } else { if ($param == 'avaliação') { $star = Avaliacoes::getStars(Avaliacoes::average(array("produto_id = '{$value['_id']}' and avaliacao_tipo_id = 2 and aprovado = 1", 'column' => 'nota'))); if ($star == '') { $html .= 'Produto não foi avaliado'; } else { $html .= $star . ' ' . Avaliacoes::count("produto_id = '{$value['_id']}' and avaliacao_tipo_id = 2 and aprovado = 1") . ' -Avaliação(oes)'; } } else { if ($param == 'opções') { $html .= '<a href="' . parent::generateUrl($value['nome'], $value['_id'], 'produto') . '" class="btn btn-primary"><i class="fa fa-plus"></i> Mais detalhes</a> '; $html .= '<a href="' . $this->url_base . 'comparacao/delete/' . $value['_id'] . '" class="btn btn-danger"><i class="fa fa-times"></i> Remover</a>'; } else { if ($param == 'descrição') { $html .= $value['descricao']; } else { $html .= $value[$param]; } } } } } $html .= '</td>'; } return $html; }
protected function getItens() { $html = ''; foreach ($this->cart->contents() as $key => $value) { $produto = Produtos::findById($value->id)->toArray(); $html .= "<tr class='cart-item {$this->options['item_class']}'>"; $preco = number_format($value->price, 2, ',', '.'); $total = number_format($value->price * $value->quantity, 2, ',', '.'); $imagem = Imagens::findFirst($produto['imagens'][0]); $preco_real = $value->valor_real ? '<span class="preco-desconto">R$ ' . number_format($value->valor_real, 2, ',', '.') . '</span>' : ''; if (!$this->options['resumo']) { $html .= "<td><img src='{$this->url_base}{$imagem->url}' class='img-responsive' style='width:100px'/></td>"; if ($this->ecommerce_options->produto_detalhes == '1') { $chave = parent::arrayMultiSearch($produto['detalhes'], 'detalhe_id', $value->options['detalhe_id']); $variacao = ''; foreach (unserialize($this->ecommerce_options->produto_detalhe_options) as $c => $v) { $variacao .= ucwords($v['label']) . ': ' . $produto['detalhes'][$chave]["{$v['label']}"]; } } else { $variacao = ''; } $html .= "<td>{$value->name}<br/> <span class='cart-variacao'>{$variacao}</span></td>"; $select = "<select class='form-control cart-update' data-identificador='{$key}'>"; if ($this->ecommerce_options->produto_detalhes == '0') { $estoque = $produto['estoque']; } else { $estoque = isset($value->options) ? $produto['detalhes'][$chave]['estoque'] : $produto['detalhes'][0]['estoque']; } for ($i = 1; $i <= $estoque; $i++) { $selected = $value->quantity == $i ? 'selected' : ''; $select .= "<option value='{$i}' {$selected}>{$i}</option>"; } $select .= '</select>'; $html .= "<td style='width:18%'>{$select}</td>"; $html .= "<td>R\$ {$preco} {$preco_real}</td>"; $html .= "<td class='cart-item-total'>R\$ {$total}</td>"; $link = $this->url_base . 'cart/remove/' . $key; $html .= "<td><a href='{$link}' class='cart-remove'><i class='fa fa-trash fa-2x'></i></a></td>"; } else { $html .= "<td><img src='{$this->url_base}{$imagem->url}' class='img-responsive' style='width:100px'/></td>"; $html .= "<td>\n\t\t\t\t\t\t\t{$value->name} <br/>\n\t\t\t\t\t\t\t<strong>{$value->quantity} x R\$ {$preco}</strong>\n\t\t\t\t\t\t\t<h5>R\$ {$total}</h5>\n\t\t\t\t</td>"; } $html .= '<tr/>'; } return $html; }