Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#69713
Olá galera.

Eu estou em um dilema.

Ja adicionei o SKU, ao qual modifiquei para ser a referencia do produto, tanto para o usuário identificar o produto, como ajudar na hora da pesquisa no admin.

Até ai tudo otimo, adicionei o SKU na na pagina do produto, nas categorias do produtos, e até em um modulo que exibo as categorias na primeira página.

Mas não tem jeito de conseguir exibir o SKU em outro modulo que mando exibir os produtos especiais (promoções).

O mesmo arquivo do view que utilizo que é default.tpl é o que exibe os produtos na lista das categorias, lá exibe o SKU normalmente, mas nesse modulo não exibe de forma alguma.

Já adicionei o codigo
Código: Selecionar todos
'sku'         => $result['sku'],
em quase todos os controller que achei, e mesmo assim não exibe.

Meu OC é 2.0.1.1.

Estou usando um PAVtheme free.

E a primeira página utiliza um modulo, Pav Home Page Builder, que busca como se fosse Widget, e este modulo que puxa os produtos especiais parece um Widget, mas não acho o controller dele em lugar algum.

Sei que é muito dificil com base nas explicações que estou pedindo, mas se alguem tiver um orientação já seria o máximo.
Abraços
e obrigado
Editado pela última vez por turcorossi em 02 Set 2016, 18:44, em um total de 2 vezes.
#69714
Só para deixar mais claro.
Tanto o modulo, quanto a lista de produtos na categoria puxar o seguinte arquivo \catalog\view\theme\*\template\common\product\default.tpl

O que acontece, o modulo utiliza o default.tpl para exibir o produto que é o mesmo da lista de produtos na categoria.

Então eu adicionei no arquivo
\catalog\controller\product\category.php

após
Código: Selecionar todos
$data['products'][] = array(
adicionei a seguinte linha
Código: Selecionar todos
'sku'         => $result['sku'],
Já adicionei a mesma linha em quase todos os controller que possa ser o controlador do modulo de promoções.

Eis o meu dilema.
#69719
Olá @turcorossi.

Além do controller, você deve analisar se no model (que é onde ficam as SQLs) a SQL utilizada para carregar os dados do produto, está carregando a coluna "sku", já sobre o controller do tema para o módulo que você precisa, fica realmente difícil saber qual controller ele utiliza, pois eles fazem tantas gambiarras que é um trabalho imenso tentar saber de que controller estão puxando a informação.

Boa sorte e espero ter ajudado. :)
#69730
Manoel, obrigado pelo retorno.

O estranho é que o arquivo default.tpl que é do view, exibe o sku na pagina da categoria.
E o mesmo arquivo default.tpl é o view do modulo de produtos em promoção.

Entendeu? é o mesmo arquivo de view tanto para a categoria como para o modulo de promoção.

A única diferença é que, na categria o sku exibe normal, e no modulo de promoção da o erro Notice:: Undefined index: sku in.
Mas se remover do arquivo default some o erro, so que não é exibido nas categorias.

Que crise.... kkkkk

Sabe me indicar algum modulo de carrousel de produtos em promoção free?

Aguado e obrigado
#69732
Este é o php do arquivo de view que exibe o carrousel dos produtos em promoção.

Como sou novo no opencart se puder dar uma olhada. e verificar se tem algo que indique qual controller faz.
OU se tenho como mudar o php para puxar outro arquivo.
Código: Selecionar todos
<?php
	$span = 12/$cols;
	$active = 'latest';
	$id = rand(1,9)+rand();
	$themeConfig = (array)$this->config->get('themecontrol');
	$listingConfig = array(
		'category_pzoom'                     => 1,
		'quickview'                          => 0,
		'show_swap_image'                    => 0,
		'product_layout'		=> 'default',
		'enable_paneltool'	=> 0
	);
	$listingConfig     = array_merge($listingConfig, $themeConfig );
	$categoryPzoom 	    = $listingConfig['category_pzoom'];
	$quickview          = $listingConfig['quickview'];
	$swapimg            = $listingConfig['show_swap_image'];
	$categoryPzoom = isset($themeConfig['category_pzoom']) ? $themeConfig['category_pzoom']:0;
	$theme = $this->config->get('config_template');
	if( $listingConfig['enable_paneltool'] && isset($_COOKIE[$theme.'_productlayout']) && $_COOKIE[$theme.'_productlayout'] ){
		$listingConfig['product_layout'] = trim($_COOKIE[$theme.'_productlayout']);
	}
	$productLayout = DIR_TEMPLATE.$this->config->get('config_template').'/template/common/product/'.$listingConfig['product_layout'].'.tpl';
	if( !is_file($productLayout) ){
		$listingConfig['product_layout'] = 'default';
	}
	$productLayout = DIR_TEMPLATE.$this->config->get('config_template').'/template/common/product/'.$listingConfig['product_layout'].'.tpl';
	$button_cart = $this->language->get('button_cart');
?>
<div class="widget-products panel-left panel panel-default hightlighted <?php $addition_cls?>">
	<?php if( $show_title ) { ?>
	<div class="widget-heading panel-heading block-borderbox"><h3 style="color:#fc428b;"class="panel-title"><span style="padding-left:5px;padding-right:5px; background-color:#ffffff;"><?php echo $heading_title?></span></h3></div>
	<?php } ?>
 		<div class="box-products owl-carousel-play" id="productcarousel<?php echo $id;?>" data-ride="owlcarousel">
		<?php if( count($specials) > $itemsperpage ) { ?>
			<div class="carousel-controls">
				<a class="carousel-control left center" href="#productcarousel<?php echo $id;?>"   data-slide="prev">
					<i class="fa fa-angle-left"></i>
				</a>
				<a class="carousel-control right center" href="#productcarousel<?php echo $id;?>"  data-slide="next">
					<i class="fa fa-angle-right"></i>
				</a>
			</div>
		<?php } ?>
			<div class="owl-carousel product-grid"  data-show="1" data-pagination="true" data-navigation="true">
				<?php $pages = array_chunk( $specials, $itemsperpage); ?>
				<?php foreach ($pages as  $k => $tproducts ) {   ?>
				<div class="item <?php if($k==0) {?>active<?php } ?> products-block">
					<?php foreach( $tproducts as $i => $product ) {  $i=$i+1;?>
						<?php if( $i%$cols == 1 || $cols == 1) { ?>
			<div class="row products-row <?php ;if($i == count($tproducts) - $cols +1) { echo "last";} ?>">
            <?php //start box-product?>
						<?php } ?>
							<div class="col-lg-<?php echo $span;?> col-sm-<?php echo $span;?> col-xs-13 <?php if($i%$cols == 0) { echo "last";} ?> product-col border">
								<?php require( $productLayout );  ?>
							</div>

						<?php if( $i%$cols == 0 || $i==count($tproducts) ) { ?>
						</div><?php //end box-product?>
						<?php } ?>
					<?php } //endforeach; ?>
				</div>
			  <?php } ?>
			</div>
		</div>
</div>
#69733
Resolvido!

Criei outro arquivo default.tpl chamado default2.tpl e mudei o controller.

e modifiquei no arquivo acima as linhas
Código: Selecionar todos
$listingConfig['product_layout'] = 'default'; 
para
Código: Selecionar todos
$listingConfig['product_layout'] = 'default2'; 
E
Código: Selecionar todos
'product_layout'      => 'default',
para
Código: Selecionar todos
'product_layout'      => 'default2',