Página 2 de 3
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 05:56
por erickguerreiro
Olá Denis,
O banner foi feito com 980x280. E está configurado para 980x280 também lá no extensions >> modules >> banners.
Coloquei um banner em 728 x 360 para testar e também ficou pequeno! Muito estranho...minha Open é a 1.5.3.1.
Obrigado pelo help!
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 06:48
por erickguerreiro
corrigindo: 1.5.1.3
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 09:00
por denisgomes
Link da loja por favor.
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 20:09
por erickguerreiro
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 21:39
por denisgomes
Ok, o problema é o seguinte. O código que chama o banner em flash está programado para fazer com que ele ocupe todo o tamanho do seu contêiner - neste caso, o <div id="banner0"...>. Em algum lugar (provavelmente no stylesheet.css) está sendo determinado que este elemento deve ter 153 pixels de altura. Sendo ele menor que o tamanho do arquivo Flash, o Flash redimensiona o conteúdo do banner proporcionalmente, e por isso ele aparece menor. Portanto você deve alterar o CSS para que esse elemento específico tenha 280 pixels de altura, ou então acrescentar o parâmetro HEIGHT a este elemento. Ou melhor ainda: refazer o banner com 980 x 153, porque com 280 de altura na minha opinião ficou grande demais. Você também pode abrir o arquivo original do banner e apenas esticar o fundo dele para além dos 980 de largura - ao fazer isso o seu banner será reduzido proporcionalmente (como aconteceu no seu site) mas você não terá o espaço em branco em volta dele - ou seja, você criará um banner meio que "auto ajustável" para qualquer espaço.
A propósito, fica o recado para os próximos leitores deste thread: o tamanho do contêiner (<div>) para os banners é definido pelo template que você usa, ou seja, nesse template (o padrão do OpenCart) o tamanho do contêiner é 980 x 153, mas em outros templates o tamanho pode ser diferente.
Re: [MOD] Banners em flash
Enviado: 08 Mai 2012, 23:46
por erickguerreiro
Perfeito.
Era exatamente isso. Mandou muito bem. Obrigado Denis. Resolveu. Ficou ótimo.
Optei por incluir o parâmetro height no container com 280px.
Então ocódigo ficou assim:
#container {
width: 980px;
height: 280px;
margin-left: auto;
margin-right: auto;
text-align: left;
Obrigado novamente, Denis. Um grande abraço a todos!
Re: [MOD] Banners em flash
Enviado: 05 Jul 2012, 14:57
por andersonnarciso
denisgomes escreveu:Olá pessoal, segue mais uma contribuição. Não sabia se esse era o fórum correto, então fique à vontade para mudar se for o caso.
Essa modificação pequena serve para permitir a exibição de banners em flash, coisa que o OpenCart *incrivelmente* ainda não faz. Já está instalado em minha loja, caso alguém queira ver. O interessante nessa modificação é que ela não mexe em nenhum arquivo do core - ela é feita somente no arquivo do template do site, ou seja, os banners em flash continuarão funcionando mesmo que você atualize a versão do OpenCart.
Atenção: Não me responsabilizo por eventuais problemas. Faça sempre backup. Tentarei ajudar na medida do possível, mas não me venha com aquela história de "segui sua dica e minha loja saiu do ar!!! me ajuda urgente!!!"
Como instalar:
1. Abra o arquivo /catalog/view/theme/<seu tema>/template/module/banner.tpl
Se você não achar esse arquivo na pasta do seu tema, isso significa que o OpenCart usará o arquivo padrão. Ele está localizado na pasta /catalog/view/theme/default/template/module/
2. Substitua o primeiro bloco do arquivo (entre as tags < div > e < /div >) por isto:
Código: Selecionar todos<div id="banner<?php echo $module; ?>" class="banner">
<?php foreach ($banners as $banner) { ?>
<?php if ($banner['link']) { ?>
<?php $pos = strpos($banner['link'], '.swf'); ?>
<?php if ($pos !== false) { ?>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100%" height="100%" id="<?php echo $banner['link']; ?>" align="" style="z-index:-1;">
<param name=movie value="<?php echo $banner['link']; ?>">
<param name=quality value=high>
<param name=wmode value=opaque>
<embed src="<?php echo $banner['link']; ?>" width=100% height=100% quality=high wmode=opaque name="<?php echo $banner['link']; ?>" align="" TYPE="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" style="z-index:-1;" />
</object>
<? } else { ?>
<div><a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></a></div>
<? } ?>
<?php } else { ?>
<div><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></div>
<?php } ?>
<?php } ?>
</div>
3. Salve e pronto.
Como usar:
Você deve enviar seus banners em Flash para uma pasta no servidor usando um programa de FTP, ou o Notepad++ (que envia arquivos por FTP), ou o CPanel da sua hospedagem ou qualquer outro meio. O OpenCart não permite enviar arquivos com extensão SWF a menos que você modifique o componente do Editor de Imagens.
1. Acesse o painel da loja e clique em Sistema > Design (Aparência) > Banners.
2. Insira um novo banner.
3. Digite o nome do novo conjunto de banners, altere a situação para Habilitado e clique em Adicionar.
4. Preencha o Título do banner.
5. No campo Link preencha o endereço completo para o arquivo SWF que você salvou no servidor.
O campo Link é usado como o endereço de destino quando o cliente clica no banner. Nesta modificação ele será usado para indicar onde está o arquivo Flash.
Por exemplo, se você envou para a pasta /image/data/ (a pasta onde as fotos da loja ficam guardadas), digite /image/data/meubanner.swf. Não é necessário digitar o domínio da sua loja, mas é importante que a palavra .swf (em minúsculas) esteja no final para que o sistema veja que é um banner em Flash. Atenção: servidores em Linux diferenciam maiúsculas de minúsculas no nome dos arquivos.
Não é necessário selecionar uma imagem, mas você pode se quiser. A imagem não será exibida.
Para definir o link de um banner em Flash você deverá fazê-lo no aplicativo que criou o banner. Não é possível adicionar um link a um banner em Flash depois que ele foi criado, assim como é feito com as imagens.
6. Salve tudo e aproveite sua nova loja com banner em Flash
Qualquer dúvida ou problema poste aqui.
Um adicional a sua contribução Denis.. Hoje não é muito correto utilizar <object> para inclusão de flash, além de ficar mais pesado pode nao rodar em alguns navegadores ou smartphones, então utiliza-se framework SWFObject para fazer a inserssão do flash.
Não testei, não sei se vai funcionar ai, mas segue abaixo
Código: Selecionar todos<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<div id="banner<?php echo $module; ?>" class="banner">
<?php foreach ($banners as $banner) { ?>
<?php if ($banner['link']) { ?>
<?php $pos = strpos($banner['link'], '.swf'); ?>
<?php if ($pos !== false) { ?>
<script type="text/javascript">
var params = {};
var trans = "<?php echo $banner['link']; ?>";
params.quality="high";
var params = {wmode:"transparent"};
swfobject.embedSWF(trans, "flash", "100%", "100%", "9.0.0", trans, {}, params);
</script>
<div id="flash"></div> //Div Local onde irá ser inserido o flash
<? } else { ?>
<div><a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></a></div>
<? } ?>
<?php } else { ?>
<div><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></div>
<?php } ?>
<?php } ?>
</div>
Os campos de tamanho 100% poderia ser trocars pela fução que adiciona o tamanho do banner pelo painel de controle, não tenho conhecimento sobre o code do opencart, mas deve ter alguma função que insere o tamanho no temaplate..
O link do swfobject pode ser que já venha junto no OpenCart, pelo fato de haver flash uploader, mas em todos os casos, ele está no começo da codificação..
Re: [MOD] Banners em flash
Enviado: 01 Ago 2012, 16:01
por esnsistemas
Denis, boa tarde!!
Também não consegui anexar o banner.swf em minha loja, segui todos os passos que você informou, porém não roda, poderia revisar o código e o link de sua loja.
Grato,
Ernani
Re: [MOD] Banners em flash
Enviado: 04 Nov 2012, 21:28
por p3bb4
Olá Dennis, fiz sua tutorial e me voltou o seguinte erro:
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\loja\catalog\view\theme\cleve\template\module\banner.tpl on line 30
Na linha 30 não tem nada.
Minha versão é 1.5.4.1 e o meu temple não é padrão.
Meu arquivo banner.tpl
<div id="banner<?php echo $module; ?>" class="banner">
<?php foreach ($banners as $banner) { ?>
<?php if ($banner['link']) { ?>
<div><a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></a></div>
<?php } else { ?>
<div><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" title="<?php echo $banner['title']; ?>" /></div>
<?php } ?>
<?php } ?>
</div>
<script type="text/javascript"><!--
var banner = function() {
$('#banner<?php echo $module; ?>').cycle({
before: function(current, next) {
$(next).parent().height($(next).outerHeight());
}
});
}
setTimeout(banner, 2000);
//--></script>
Espero solucionar para usar o recurso. Obrigado.
Re: [MOD] Banners em flash
Enviado: 12 Fev 2013, 10:53
por tasag
Obrigado, deu certinho.