Página 5 de 5

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 11 Fev 2014, 00:25
por thor
Para randomizar o módulo ofertas especiais basta ir no arquivo: \catalog\controller\module\especial.php

e fazer a mesma mudança feita no código acima.

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 19 Jun 2014, 16:29
por guidopossi
Estou usando a versão 1.5.6, esse último código funcionou, mas mostra todos os produtos (em produtos novos) e quero que mostre apenas a quantidade que eu configurar, como faço?

$results = $this->model_catalog_product->getProducts(10 * (int)$this->config->get('latest_limit'));
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $this->config->get('latest_limit'));

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 23 Ago 2014, 16:32
por santosaa
No meu caso a randomização está aparecendo apenas na home, as categorias estão fixas. Como faço nas categorias?

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 24 Dez 2014, 10:25
por remanos
Nenhum dos códigos informados funcionaram perfeitamente na versão 1.5.5.1, sempre faltava alguma coisa, ou não limitava a quantidade de produtos que estava setado no módulo ou limitava os produtos mas não rotacionava entre todos os produtos cadastrados na loja virtual, apenas os últimos cadastrados na ordem descendente ou ascendente.

Depois de um estudo no código, fiz uma mescla de 2 códigos aqui informados e substituí a seguinte linha:

$results = $this->model_catalog_product->getProducts($data);

Pelo código:

$results = $this->model_catalog_product->getProducts(10 * (int)$this->config->get('limit'));
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $setting['limit']);

Funcionando perfeitamente na minha loja: www.remanos.com.br

Espero ter ajudado.

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 04 Dez 2015, 11:20
por danilopastor
Codigo para versão oc2.0 ++
Código: Selecionar todos
        $results = $this->model_catalog_product->getProducts(10 * (int)$setting['limit']);
        srand((float)microtime() * 1000000);
        shuffle($results); 
        $results = array_slice($results, 0, $setting['limit']);
muito bom origado !!!

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 18 Jun 2016, 16:00
por ramirofreitas
Estou usando uma opencart 2.1 e não consegui achar a linha de código em nenhum dos arquivos citados na explicação. Como posso fazer essa alteração para randomizar os produtos na página principal?

Segue abaixo o código completo que tem no arquivo latest.php


application/x-httpd-php latest.php
PHP script text
<?php
class ControllerModuleLatest extends Controller {
public function index($setting) {
$this->load->language('module/latest');

$data['heading_title'] = $this->language->get('heading_title');

$data['text_tax'] = $this->language->get('text_tax');

$data['button_cart'] = $this->language->get('button_cart');
$data['button_wishlist'] = $this->language->get('button_wishlist');
$data['button_compare'] = $this->language->get('button_compare');

$this->load->model('catalog/product');

$this->load->model('tool/image');

$data['products'] = array();

$filter_data = array(
'sort' => 'p.date_added',
'order' => 'DESC',
'start' => 0,
'limit' => $setting['limit']
);

$results = $this->model_catalog_product->getProducts($filter_data);

if ($results) {
foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']);
} else {
$image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}

if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}

if ($this->config->get('config_tax')) {
$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
} else {
$tax = false;
}

if ($this->config->get('config_review_status')) {
$rating = $result['rating'];
} else {
$rating = false;
}

$data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $rating,
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
}

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/module/latest.tpl', $data);
} else {
return $this->load->view('default/template/module/latest.tpl', $data);
}
}
}
}

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 28 Jul 2016, 16:43
por richard
Pessoal estou usando a versão 2.2
e a linha para trocar é essa:
Código: Selecionar todos
$results = $this->model_catalog_product->getProducts($filter_data);
é só substituir pelo código
Código: Selecionar todos
   $results = $this->model_catalog_product->getProducts(10 * (int)$setting['limit']);
        srand((float)microtime() * 1000000);
        shuffle($results); 
        $results = array_slice($results, 0, $setting['limit']);
em minha loja funcionou 100%
Espero poder ter ajudado..
não esqueçam de fazer o backup antes...

abraço...

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 28 Jul 2016, 16:52
por richard
Troquei em Special (promoção) também e ficou show...
o caminho é o mesmo.
é só encontrar a linha
$results = $this->model_catalog_product->getProducts($filter_data);

essa versão 2.2
caso as versões anteriores não tiverem essa linha é só seguir o padrão _catalog_product->getProducts
e fazer o teste..
abraço a todos...

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 03 Set 2016, 10:33
por A MS
Eu olhei o tópico inteiro, mas não consegui descobrir como eu faço para deixar os produtos das categorias no modo aleatório. Eu imaginei que a alteração seria no arquivo catalog/controller/module/category.php, mas neste arquivo não tem a linha "$results = $this->model_catalog_product->getProducts($filter_data);" para substituir.
Qual seria a forma correta para categorias? Se alguém souber e puder ajudar, agradeço enormemente.

Re: [TUTORIAL] Produtos Aleatórios na Home Principal

Enviado: 22 Abr 2017, 15:13
por gustavo_lacerda
Boa tarde amigos, alguém sabe como faço para a versão 2.0.3.1? Pois não estou achando esses códigos nos arquivos. Obrigado!!