Módulo Banner Duplicado

Moderator: ariadneduvessa

Locked
User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Módulo Banner Duplicado

Post by guiboni » Thu Dec 20, 2007 11:02 pm

Olá pessoal, estou com um pequeno problema.

Estou utilizando o componente Flexadvert e seu respectivo módulo. Após a instalação defini a posição deste módulo para "top" para inserir o fullbanner (468x60). Em seguida dupliquei este modulo 3 vezes para a posição "right" para inserir outros três banners. No firefox tudo funciona perfeitamente. Pórem no IE tive dois erros diferentes. O primeiro deles foi a mensagem "out of memory at line: 126". Corrigi o erro atualizando o swfobject.js para a versão 1.5. No entanto, o segundo erro é que ao publicar o módulo Flexadvert original e suas cópias, com banners em .swf eles ñ aparecem, inclusive o módulo original. Mas ao despublicar as 3 cópias deste módulo, o original abre sem problemas no IE.

Preciso de ajuda, por favor.

Um abraço.
Last edited by guiboni on Thu Jan 10, 2008 12:30 pm, edited 1 time in total.
Guilherme Boni

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Fri Dec 28, 2007 5:16 pm

Ninguém?
Guilherme Boni

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Wed Jan 09, 2008 4:35 pm

Da uma ajuda ae pessoal. To precisando resolver isso urgente. Este é o único componente de banner que permite escolher o local onde será veiculado que conheço. Estou com este problema com o Swfobject e é apenas no IE, no Firefox esta tudo blz.

Ajuda ae pessoal.
Guilherme Boni

User avatar
ronildo
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4021
Joined: Thu Aug 18, 2005 12:39 pm
Location: São Paulo - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by ronildo » Wed Jan 09, 2008 5:04 pm

Cara nunca usei esse componente por isso não sei ajudar, já procurou no google??
http://www.ronildo.com.br/blog/ pt-br | twitter: twitter.com/ronildo
http://forum.joomla.org/viewtopic.php?f=23&t=144443 - FAQ Joomla [pt]
Pessoal por favor não tiro dúvidas por e-mail nem mensagem privada, por favor não insistam.

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Wed Jan 09, 2008 5:15 pm

Ja sim, to um tempão tentando resolver isso. Deixa eu explicar melhor, o modulo funciona certo no ie, quando eu o chamo apenas 1 vez, mas como estou chamado 3 vezes, pois tenho 3 posições diferentes de banners na tela ele mostra todos os banners dentro do espaço do primeiro banner.

Alguem conhece algum módulo para banners que permita definir as páginas em que serão visualizados? (Fora o Flexadvert) O Artbanner é mto bom mas não permite fazer isso.

Um abraço.
Guilherme Boni

User avatar
ronildo
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4021
Joined: Thu Aug 18, 2005 12:39 pm
Location: São Paulo - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by ronildo » Wed Jan 09, 2008 5:26 pm

Fica muito complicado você passar o link disso ai?
http://www.ronildo.com.br/blog/ pt-br | twitter: twitter.com/ronildo
http://forum.joomla.org/viewtopic.php?f=23&t=144443 - FAQ Joomla [pt]
Pessoal por favor não tiro dúvidas por e-mail nem mensagem privada, por favor não insistam.

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Wed Jan 09, 2008 5:53 pm

O código do módulo flexadvert é esse:

Code: Select all

<?php
/**
* @version $Id: mod_flexcontent.php 2456 2006-04-18 $
* @package JoomlaExtensions
* @copyright Copyright (C) 2006 Matthew Pettitt/Excel Publishing. Inspired by D4J_Content_Listing from DesignForJoomla.com
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
//error_reporting(E_ALL);
//ini_set('display_errors',true);
require_once($mainframe->getPath('front', 'com_flexadvert'));

// locationid must be an integer
$locationid = intval($params->get( 'locationid', '' ));
$moduleclass_sfx = $params->get('moduleclass_sfx', '');
$id = intval(mosGetParam( $_REQUEST, 'id' ,NULL ));
$task = mosGetParam($_REQUEST, 'task', NULL);
$loadlast = ((bool) $params->get('loadlast', 0));
$newwindow = ((bool) $params->get('newwindow', 0));
$enablecsa = ((bool) $params->get('enablecsa', 0));
$enabletrans = ((bool) $params->get('enabletrans', 0));
$details = array("sectionid" => NULL, "categoryid" =>NULL, "contentid" => NULL);

if ($id!=0){
switch($task){
  case 'view':
    $contentitem = new flexAdContent($database);
    $contentitem->load($id);
    $details = array("sectionid" => $contentitem->sectionid, "categoryid" => $contentitem->catid, "contentid" => $contentitem->id);
    break;
  case 'blogcategory':
  case 'category':
    $categoryid = $id;
    $category = new flexAdCategories($database);
    $category->load($id);
    $details = array("sectionid" => $category->section, "categoryid" => $category->id, "contentid" => NULL);
    break;
  case 'blogsection':
  case 'section':
    $details = array("sectionid" => $id, "categoryid" => NULL, "contentid" => NULL);
    break;
  default:
    //echo "Not in a category, section or content item view";
    break;
}
}

$contentif = '';

if ($enablecsa){

if (!is_null($details['contentid']) and $details['categoryid']==0 and $details['sectionid']==0){
  $contentif = "AND IF((select count(distinct bannerid) from `#__fabannerin`
                        where `#__fabannerin`.`contentid` = ".$details['contentid'].")>0,
                       `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` 
                                                    WHERE `#__fabannerin`.`contentid` = '" . $details['contentid'] . "') 
                                                    AND `#__fabanner`.`restrictbyid`=1,
                       `#__fabanner`.`restrictbyid`=0)";

}elseif (!is_null($details['contentid'])){
  $contentif = "AND IF((select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`contentid` = ".$details['contentid'].")>0,
                       `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`contentid` = '" . $details['contentid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                       IF(`#__fabanner`.`restrictbyid` and (select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`categoryid` = ".$details['categoryid'].")>0,
                          `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`categoryid` = '" . $details['categoryid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                          IF(`#__fabanner`.`restrictbyid` and (select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`sectionid` = ".$details['sectionid'].")>0,
                             `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`sectionid` = '" . $details['sectionid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                             `#__fabanner`.`restrictbyid`=0)))";

}elseif (!is_null($details['categoryid'])){
  $contentif = "AND IF((select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`categoryid` = ".$details['categoryid'].")>0,
                        `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`categoryid` = '" . $details['categoryid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                        IF(`#__fabanner`.`restrictbyid` and (select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`sectionid` = ".$details['sectionid'].")>0,
                           `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`sectionid` = '" . $details['sectionid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                           `#__fabanner`.`restrictbyid`=0))";
}elseif (!is_null($details['sectionid'])){
  $contentif = "AND IF((select count(distinct bannerid) from `#__fabannerin` where `#__fabannerin`.`sectionid` = ".$details['sectionid'].")>0,
                       `#__fabanner`.`bannerid` in (SELECT `#__fabannerin`.`bannerid` FROM `#__fabannerin` WHERE `#__fabannerin`.`sectionid` = '" . $details['sectionid'] . "') AND `#__fabanner`.`restrictbyid`=1,
                       `#__fabanner`.`restrictbyid`=0)";
}else{
  $contentif = "AND `#__fabanner`.`restrictbyid`=0";
}

}


$sql = "SELECT `#__fabanner`.`bannerid`,
               `#__falocation`.`locationname`,
               `#__fabanner`.`imageurl`,
               `#__fabanner`.`imagealt`,
               `#__fabanner`.`customcode`,
               `#__fabanner`.`startdate`,
               `#__fabanner`.`enddate`,
               `#__fabanner`.`lastreset`,
               `#__fabanner`.`impressions`,
               `#__fabanner`.`clicks`,
               `#__fabanner`.`maximpressions`,
               `#__fabanner`.`maxclicks`,
               `#__fabanner`.`linkid`,
               `#__fasize`.`width`,
               `#__fasize`.`height`,
               `#__fabanner`.`restrictbyid`,
               `#__fabanner`.`dailyimpressions`,
               if(`#__faclient`.`barred` OR `#__fabanner`.`finished`OR NOT `#__fabanner`.`published`, 0, 1) as `valid`
        FROM   `#__fabanner`
        Inner Join `#__fabannerlocation` ON `#__fabanner`.`bannerid` = `#__fabannerlocation`.`bannerid`
        Inner Join `#__faclient` ON `#__fabanner`.`clientid` = `#__faclient`.`clientid`
        Inner Join `#__falocation` ON `#__fabannerlocation`.`locationid` = `#__falocation`.`locationid`
        Inner Join `#__falocationsize` ON `#__falocation`.`locationid` = `#__falocationsize`.`locationid`
        Inner Join `#__fasize` ON `#__fabanner`.`sizeid` = `#__fasize`.`sizeid`
               AND `#__falocationsize`.`sizeid` = `#__fasize`.`sizeid`
        WHERE `#__falocation`.`locationid` = $locationid $contentif
          AND `#__fabanner`.`published` = 1
        ORDER BY `restrictbyid` desc, `dailyimpressions`";

$database->setQuery( $sql );
$database->query();
if( $database->getNumRows()>0){
  $database->loadObject($banner);
  $bannerdetails = new flexAdBanner($database);
  $bannerdetails->load($banner->bannerid);
  $bannerdetails->impressions += 1;
  $bannerdetails->dailyimpressions += 1;
  $bannerdetails->store();

  $link     = sefRelToAbs( 'index.php?option=com_flexadvert&task=click&bannerid='. $banner->bannerid );
  $imageurl = $mosConfig_live_site . "/images/banners/" . $banner->imageurl;
  if (trim( $banner->customcode )) {
    echo stripslashes($banner->customcode);
  }elseif (eregi("\.swf$", $banner->imageurl)) {
    $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl;
    ?>
    <script type="text/javascript" src="<?php echo $mosConfig_live_site; ?>/modules/swfobject.js"></script>
 
 
    <div id="flashcontent<?php echo $moduleclass_sfx; ?>">
    

    
    <div class="advert<?php echo $moduleclass_sfx; ?>" style="display:block;width:<?php echo $banner->width;?>px;height:<?php echo $banner->height; ?>px;background:url(<?php echo $imageurl; ?>.jpg) no-repeat;">
    <a href="<?php echo $link; ?>" style="width:<?php echo $banner->width;?>px;height:<?php echo $banner->height; ?>px;display:block;margin:0;padding:0;border:0;text-decoration:none;"
    <?php  if ($newwindow){ echo 'target="_blank"'; } ?>> </a></div>
    </div>
    
    <script type="text/javascript">
      var so = new SWFObject("<?php echo $imageurl; ?>", "mymovie", "<?php echo $banner->width;?>", "<?php echo $banner->height;?>", "6", "#ffffff");
      <?php if($enabletrans){ ?>
        so.addParam("wmode", "transparent");
      <?php } ?>
      so.write("flashcontent<?php echo $moduleclass_sfx; ?>");
    </script>
     <?php
  }else{
    if ($loadlast){
      echo '<div class="advert' .  $moduleclass_sfx . '" style="display:block;width:'.$banner->width.'px;height:'.$banner->height.'px;background:url('.$imageurl.') no-repeat;">';
      echo '<a href="' . $link . '" style="width:'.$banner->width.'px;height:'.$banner->height.'px;display:block;margin:0;padding:0;border:0;text-decoration:none;" ';
      if ($newwindow){ echo 'target="_blank"'; }
      echo '> ';
      echo '</a>';
      echo '</div>';
    }else{
      echo '<div class="advert' . $moduleclass_sfx . '">';
      echo '<a href="' . $link . '"';
      if ($newwindow){ echo 'target="_blank"'; }
      echo '>';
      echo '<img src="' . $imageurl . '" alt="' . $banner->imagealt . '" width="' . $banner->width . '" height="' . $banner->height . '"/>';
      echo '</a>';
      echo '</div>';
    }
  }
}
?>
    
Pelo que percebi, o problema esta relacionado as DIVS, acho que o IE não esta pegando a nomenclatura correta da DIV e por isso esta jogando um banner em cima do outro.
Last edited by guiboni on Thu Jan 10, 2008 6:56 pm, edited 1 time in total.
Guilherme Boni

User avatar
fititnt
Joomla! Hero
Joomla! Hero
Posts: 2350
Joined: Sat Jul 15, 2006 1:41 am
Location: Porto Alegre - RS - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by fititnt » Wed Jan 09, 2008 6:15 pm

Cara, a forma como eu faria isso é o seguinte:

Use o firefox, com o IE View instalado. Abra o firebug e va alterando o código fonte e vendo as alterações em tempo real. Se não der certo, trabalhe com o código html RESULTADO regado pela página, vendo junto ao IE, com um editor de html qualquer. Assim que resolver u bug, você volta ao código fonte, e ve o que altera.

Vái ser mais simpels do que ir direto no código fonte. Isso pode demorar, mas creio que é uma forma mais eficiente de trabalhar em cima.

As vezes no google ou no forum aqu alguém ja responteu isso. Mas você já fez a busca e não encontrou. Seria interessante se você descobrir como fazer, voltar aqui e postar sua dúvidas. Eu crio um fixo no FAQ pra solução, e com isso você vai também ajudar a comunidade. Abraços, e qq coisa prende o berro.
Emerson da Rocha Luiz
Moderador aposentado, 2008-2014 | Membro do JUGRS
http://www.fititnt.org

User avatar
ronildo
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4021
Joined: Thu Aug 18, 2005 12:39 pm
Location: São Paulo - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by ronildo » Wed Jan 09, 2008 6:18 pm

Uma outra coisa que eu percebi foi o seguinte:
No IE (7), o banner superior ele aparece o banner 125x125... ao invés de aparecer o 468x60.
Talvez seja isso o seu problema, e isso é apenas configuração...

Agora uma dúvida, pq não usar o artbannerplus??
http://www.ronildo.com.br/blog/ pt-br | twitter: twitter.com/ronildo
http://forum.joomla.org/viewtopic.php?f=23&t=144443 - FAQ Joomla [pt]
Pessoal por favor não tiro dúvidas por e-mail nem mensagem privada, por favor não insistam.

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Wed Jan 09, 2008 6:23 pm

Valeu pela força fititnt e Ronildo, creio que vamos chegar lá. Olha só o que encontrei num fórum:

http://www.gotoandlearnforum.com/viewto ... =5&t=14626


O problema do cara neste fórum é praticamente o mesmo, mas ele conseguiu resolver criando uma DIV única para cada objeto. Mas neste caso o nome é fornecido danamicamente, só não sei pq o IE esta fazendo esta confusão.

PS: Pois é Ronildo, estou tentando descobrir onde arrumo esta configuração. Não estou utilizando o Arbannerplus pq ele não me permite selecionar exatamente em que páginas os banners serão exibidos, neste caso aqui há uma necessidade de exibir banners em páginas específicas.

Valeu pela força galera, vou tentar o que o fititnt falou. Um abraço.
Guilherme Boni

User avatar
fititnt
Joomla! Hero
Joomla! Hero
Posts: 2350
Joined: Sat Jul 15, 2006 1:41 am
Location: Porto Alegre - RS - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by fititnt » Wed Jan 09, 2008 6:58 pm

guiboni, eu nunca trabalhei com banners, mas... não daria para fazer manualmente com joomla exiba respectivos módulos apenas nas páginas que você quer que ele faça? Isso independeria do módulo a ser usado. Claro, que se estiver falando que tipo de baner vai ser exibido, daí não daria certo.
Emerson da Rocha Luiz
Moderador aposentado, 2008-2014 | Membro do JUGRS
http://www.fititnt.org

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Wed Jan 09, 2008 7:04 pm

É, desta forma eu sei que seria possível, mas o problema é que o cliente que vai administrar os banners mal sabe o que é internet. Por isso não tenho outra alternativa a não ser fazer este modulo funcionar no IE. Estou a mais de uma semana em cima disso e até agora não consegui descobrir. Conto com a ajuda da comunidade. Um abraço.
Guilherme Boni

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Thu Jan 10, 2008 11:08 am

Puxa, ta complicado. Eu realmente estou precisando corrigir este problema. Estou disposto a fazer uma pequena doação à quem tiver a solução. Obrigado pela força. Um abraço.
Guilherme Boni

User avatar
ronildo
Joomla! Virtuoso
Joomla! Virtuoso
Posts: 4021
Joined: Thu Aug 18, 2005 12:39 pm
Location: São Paulo - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by ronildo » Thu Jan 10, 2008 11:30 am

Cara faz uns testes com o Art Banners.
Dentro do módulo você seleciona quais as páginas que ele vai aparecer... dá uma olhada nisso.
http://www.ronildo.com.br/blog/ pt-br | twitter: twitter.com/ronildo
http://forum.joomla.org/viewtopic.php?f=23&t=144443 - FAQ Joomla [pt]
Pessoal por favor não tiro dúvidas por e-mail nem mensagem privada, por favor não insistam.

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Thu Jan 10, 2008 12:30 pm

Galera, resolvi o problema. Garanto que para muitos aqui a solução seria muito simples, mas como não sou profissional da área me bati bastante para resolver. Como disse anteriormente, dupliquei os módulos do flexadvert 3 vezes, para mostrar 4 diferentes banners na mesma página. Aí, analisando melhor cada módulo duplicado, especificamente o campo "Module Class Suffix", adicionei o valor "-moduleclass_sfx1", "-moduleclass_sfx2", "-moduleclass_sfx3", "-moduleclass_sfx4" em cada módulo respectivamente. Desta forma o IE não faz mais aquela confusão de abrir todos os banner na mesma DIV.

Apesar de resolver o problema, gostaria de deixar aqui meus sinceros agradecimentos pela força Ronildo e fititnt. Agora posso garantir que dentre todos as extensões disponíveis para banners, a melhor é o Flexadvert, pois permite restrição de banners por página. O que o  Artbannerplus, apesar de ser um bom componente, não permite de forma tão fácil.

Um abraço e até a próxima.
Guilherme Boni

User avatar
fititnt
Joomla! Hero
Joomla! Hero
Posts: 2350
Joined: Sat Jul 15, 2006 1:41 am
Location: Porto Alegre - RS - Brazil
Contact:

Re: Módulo Banner Duplicado

Post by fititnt » Thu Jan 10, 2008 8:37 pm

blz, guiboni. Obrigado por postar como vir aqui e postar como resolveu. Isso so ajuda a comunidade a crescer com qualidade.

Isso vale para todos os colegas de fórum.

Adicionei ao FAQ com o título 'Como duplicar banners na página e exibir corretamente em Internet Explorer para usuários finais leigos'. Não sei se está muito bom, mas... qualquer coisa eu altero =D
Emerson da Rocha Luiz
Moderador aposentado, 2008-2014 | Membro do JUGRS
http://www.fititnt.org

User avatar
guiboni
Joomla! Intern
Joomla! Intern
Posts: 63
Joined: Sun Jul 15, 2007 4:56 am

Re: Módulo Banner Duplicado

Post by guiboni » Fri Jan 11, 2008 10:53 am

Valeu cara. Valeu mesmo. Um abração.

Ps: gostei do título eheheh.
Guilherme Boni


Locked

Return to “Componentes, módulos e mambots”