The Joomla! Forum ™






Post new topic Reply to topic  [ 17 posts ] 
Author Message
 Post subject: Módulo Banner Duplicado
PostPosted: Thu Dec 20, 2007 11:02 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
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.

_________________
Guilherme Boni


Last edited by guiboni on Thu Jan 10, 2008 12:30 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Fri Dec 28, 2007 5:16 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
Ninguém?

_________________
Guilherme Boni


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 4:35 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
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


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 5:04 pm 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso

Joined: Thu Aug 18, 2005 12:39 pm
Posts: 4023
Location: São Paulo - Brazil
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.


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 5:15 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
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


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 5:26 pm 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso

Joined: Thu Aug 18, 2005 12:39 pm
Posts: 4023
Location: São Paulo - Brazil
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.


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 5:53 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
O código do módulo flexadvert é esse:

Code:
<?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.

_________________
Guilherme Boni


Last edited by guiboni on Thu Jan 10, 2008 6:56 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 6:15 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2347
Location: Porto Alegre - RS - Brazil
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 do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 6:18 pm 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso

Joined: Thu Aug 18, 2005 12:39 pm
Posts: 4023
Location: São Paulo - Brazil
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.


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 6:23 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
Valeu pela força fititnt e Ronildo, creio que vamos chegar lá. Olha só o que encontrei num fórum:

[url=http://www.gotoandlearnforum.com/viewtopic.php?f=5&t=14626]http://www.gotoandlearnforum.com/viewtopic.php?f=5&t=14626
[/url]

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


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 6:58 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2347
Location: Porto Alegre - RS - Brazil
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 do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Wed Jan 09, 2008 7:04 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
É, 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


Top
 Profile  
 
PostPosted: Thu Jan 10, 2008 11:08 am 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
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


Top
 Profile  
 
PostPosted: Thu Jan 10, 2008 11:30 am 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso

Joined: Thu Aug 18, 2005 12:39 pm
Posts: 4023
Location: São Paulo - Brazil
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.


Top
 Profile  
 
PostPosted: Thu Jan 10, 2008 12:30 pm 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
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


Top
 Profile  
 
PostPosted: Thu Jan 10, 2008 8:37 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2347
Location: Porto Alegre - RS - Brazil
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 do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Fri Jan 11, 2008 10:53 am 
User avatar
Joomla! Intern
Joomla! Intern

Joined: Sun Jul 15, 2007 4:56 am
Posts: 63
Valeu cara. Valeu mesmo. Um abração.

Ps: gostei do título eheheh.

_________________
Guilherme Boni


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ] 



Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group