Fórum OpenCart Brasil

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

#3333
Alguns colegas estão tendo a necessidade de exibir módulos no rodapé de suas lojas, para ajudá-los a resolver esta implementação segue a dica:

1) Edite o arquivo latest.php, que está na pasta catalog/controller/module, e procure pelas linhas abaixo:
Código: Selecionar todos
    if ($this->config->get('latest_position') == 'home') {
    $this->data['heading_title'] .= (' ' . $this->language->get('text_products'));
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest_home.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/module/latest_home.tpl';
    } else {
    $this->template = 'default/template/module/latest_home.tpl';
    }
    } else {
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/module/latest.tpl';
    } else {
    $this->template = 'default/template/module/latest.tpl';
    }
    }
2) Substitua as linhas acima pelo código abaixo:
Código: Selecionar todos
    if (($this->config->get('latest_position') == 'home') || ($this->config->get('latest_position') == 'footer')) {
    $this->data['heading_title'] .= (' ' . $this->language->get('text_products'));
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest_home.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/module/latest_home.tpl';
    } else {
    $this->template = 'default/template/module/latest_home.tpl';
    }
    } else {
    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/module/latest.tpl';
    } else {
    $this->template = 'default/template/module/latest.tpl';
    }
    }
3) Escolha o módulo que deseja que apareça no rodapé, no exemplo usaremos o Tagcloud, para isso altere o arquivo do módulo com o nome de tagcloud.tpl (que não acompanha por padrão o OpenCart), ele está dentro da pasta admin/view/template/module, após a linha 44 coloque o código abaixo:
Código: Selecionar todos
    <?php if ($tagcloud_position == 'footer') { ?>
    <option value="footer" selected="selected"><?php echo $text_footer; ?></option>
    <?php } else { ?>
    <option value="footer"><?php echo $text_footer; ?></option>
    <?php } ?>
Obs.: O código acima fará com que no campo posição do módulo, apareça a opção Rodapé.

4) Edite o arquivo tagcloud.php, que está na pasta admin/language/portuguese-br/module, e adicione o código abaixo:
Código: Selecionar todos
    $_['text_footer'] = 'Rodapé';
5) Edite o arquivo tagcloud.php, que está na pasta admin/language/english/module, e adicione o código abaixo:
Código: Selecionar todos
    $_['text_footer'] = 'Footer';
6) Edite o arquivo footer.tpl, que está dentro da pasta catalog/view/theme/SEU_TEMA/template/common, e adicione o código abaixo no começo do arquivo para mostrar o módulo que quiser:
Código: Selecionar todos
    <?php foreach ($modules as $module) { ?>
    <?php echo ${$module['code']}; ?>
    <?php } ?>
Fonte:
http://www.opencart.com/index.php?route ... h=8&page=6 (INFORMAÇÕES)
Download do módulo Tagcloud:
LINK QUEBRADO

...qualquer dúvida pode perguntar...
#4195
Ola Bom Dia,

Eu acompanhei tudo que foi falado para colocar o modulo, mas no final quando eu fui testar, me apresentou o seguinte erro.

Notice: Undefined variable: modules in /home/aclv/public_html/lojamega/catalog/view/theme/aspira_design/template/common/footer.tpl on line 3Warning: Invalid argument supplied for foreach() in /home/aclv/public_html/lojamega/catalog/view/theme/aspira_design/template/common/footer.tpl on line 3


Esse é o meu arquivo footer.tpl do meu thema

<div id="footer">
<div class="div1"><a onclick="window.open('https://www.paypal.com/uk/mrb/pal=W9TBB ... W');"><img src="catalog/view/theme/aspira_design/image/payment.png" alt="" /></a></div>

<?php foreach ($modules as $module) { ?>
<?php echo ${$module['code']}; ?>
<?php } ?>
<!--
OpenCart is open source software and you are free to remove the Powered By OpenCart if you want, but its generally accepted practise to make a small donatation.
Please donate via PayPal to donate@opencart.com
//-->

<div class="div2">
<a href="http://www.checkyoursites.com/" target="_blank" title="Checkyoursites"><img src="http://www.checkyoursites.com/images/ic ... rsites.png" alt="Checkyoursites.com" border="0" /></a>&nbsp;<a href="http://www.aspiradesignltd.com/th/" target="_blank" title="Aspira Design"><img src="http://www.checkyoursites.com/images/ic ... design.png" alt="Aspiradesignltd.com" border="0" /></a><br />
<a href="http://www.megamatrix.com.br" target="_blank" title="opencart">megamatrix</a> | &copy; MEGAMATRIX INFORMÁTICA<br /></div>
<!--
OpenCart is open source software and you are free to remove the Powered By OpenCart if you want, but its generally accepted practise to make a small donatation.
Please donate via PayPal to donate@opencart.com
//-->
</div>

<?php echo $google_analytics; ?>
</body></html>


Se pude rme ajudar eu agradeço de coração

Abraços

La Valle
#4199
No arquivo footer.php que está no diretório catalog/controller/common localize as linhas abaixo:
Código: Selecionar todos
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/footer.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/footer.tpl';
		} else {
			$this->template = 'default/template/common/footer.tpl';
		}
Após elas coloque o código abaixo:
Código: Selecionar todos
		$this->load->model('checkout/extension');
		
		$module_data = $this->model_checkout_extension->getExtensionsByPosition('module', 'home');

		$this->data['modules'] = $module_data;

		foreach ($module_data as $result) {
			$this->children[] = 'module/' . $result['code'];
		}
Salve o arquivo e teste.

Espero ter ajudado. :D
#6388
alexlavalle escreveu:
Eu acompanhei tudo que foi falado para colocar o modulo, mas no final quando eu fui testar, me apresentou o seguinte erro.

Notice: Undefined variable: modules in /home/aclv/public_html/lojamega/catalog/view/theme/aspira_design/template/common/footer.tpl on line 3Warning: Invalid argument supplied for foreach() in /home/aclv/public_html/lojamega/catalog/view/theme/aspira_design/template/common/footer.tpl on line 3
Também estou com o mesmo problema. (Estou tentando colocar o módulo mytweets no rodapé.)
Coloquei os comandos:

<?php foreach ($modules as $module) { ?>
<?php echo ${$module['code']}; ?>
<?php } ?>

Depois da <div id="footer"> e antes da <div class="div1"> (Achei que era o local correto.)

E troquei o comando $tagcloud_position por $mytweets_position:

<?php if ($mytweets_position== 'footer') { ?>
<option value="footer" selected="selected"><?php echo $text_footer; ?></option>
<?php } else { ?>
<option value="footer"><?php echo $text_footer; ?></option>
<?php } ?>

E apareceu exatamente o mesmo erro.

Fiz as alterações que o Manoel sugeriu e desapareceu o erro, mas também não apareceu o módulo....
Ressalto ainda que no painel Admin não aparece na edição do módulo a opção "rodapé", somente "direita" e "esquerda".

Alguma sugestão?
#7328
Boa noite pessoal.

To tentando fazer o procedimento só que no módulo Informações, mas aconteceu o mesmo que
aconteceu com nosso amigo acima ronaldomello. Corrigiu o erro, mas não aparece a opção
"Rodapé"... só "Esquerda e Direita" mesmo.

Alguma solução? :roll: :roll: :roll: :roll:

Ola @felipesujf Se você extrai os arquiv[…]

extensção -> Módulos

Voltou ao normal sozinho

Olá Uso o OpenCart 2 e tenho algumas d&uac[…]

Night games. One night, no worries Real Women P[…]