Help - Search - Member List - Calendar
Full Version: Limiter l'affichage de google_ads
IPBR-FR > Divers > Documentation > Soumettez vos astuces ou tutoriels
Youp3
Astuce donnée par thewiseoldman sur invison board france :

Comme vous le savez, le programme Adsense de Google est assez strict sur ce que vous pouvez ou ne pouvez faire.

Via quelques manipulations données par Makjmn sur IPS il est possible de ne pas faire s'afficher les pubs Adsense sur certaines pages, comme par exemple les pages d'inscription et de recherche.

Pour chaque skin un fichier skin_global.php et son board wrapper sont à modifier, un seul fichier source est impacté : functions.php

Pour chacun de vos skins :

Ouvrir skin_global.php et trouver
CODE
}
?>
juste au dessus ajouter
CODE
function google_ad() {
return <<<EOF
<div align="center"> ici le code Google Adsense</div><br />
EOF;
}


Ouvrir sources/functions.php trouver
CODE
//---------------------------------------
// Get the template
//---------------------------------------
juste en dessous ajouter
CODE
if ($this->show_google()==true)
 {
  $ad = $skin_universal->google_ad();
  $ibforums->skin['template'] = str_replace( "<!-- adsense -->"      , $ad                       , $ibforums->skin['template']);
 }


Trouver
CODE
   //-------------------------------------------
   // print a minimalist screen suitable for small
   // pop up windows
   //-------------------------------------------
juste en dessous ajouter
CODE
   //-------------------------------------------
   // Check to see if a page is Adsense Safe
   //-------------------------------------------
function show_google()
{
 global $ibforums, $output_array;
 if (($ibforums->input['act'] != "Login") &
   ($ibforums->input['act'] != "Reg") &
   ($ibforums->input['act'] != "Msg") &
   ($ibforums->input['act'] != "UserCP") &
   ($ibforums->input['act'] != "modcp") &
   ($ibforums->input['act'] != "Mod") &    
   ($ibforums->input['act'] != "Search") &
   ($ibforums->input['act'] != "Mail") &
   ($ibforums->input['act'] != "Online") &
   ($ibforums->input['act'] != "Post") &  
   ($ibforums->input['CODE'] != "getnew") &
   ($ibforums->input['code'] != "newevent") &
   ($ibforums->input['CODE'] != "show" ) &
   ($ibforums->input['CODE'] != "simpleresults" ) &
   (!$ibforums->input['showuser']) &
   ($output_array['OVERRIDE']==""))
  {
   return true;
  } else
  {
   return false;
  }  
}


Ouvrir le board wrapper associé au skin et où vous voulez voir apparaître la pub Google Adsense ajoutez simplement
CODE
<!-- adsense -->


Si vous voulez ajouter d'autres pages ou un forum par exemple il suffit d'ajouter des lignes dans la fonction show_google()
CODE
($ibforums->input['f'] != 29) &
par exemple n'afficherait plus la pub Google Adsense pour le forum avec l'id 29.

Ensuite pour ajouter ou modifier le code Google Adsense soit vous éditez skin_global.php soit vous passez par le PC Admin / Skin et Templales / Manage HTML / Global HTML elements / google_ad / Edit single et vous remplacez
CODE
ici le code Google Adsense
par votre code Google Adsense. Si google_ad n'est pas disponible vous devez resynchroniser vos Templates HTML à partir des fichiers php via Templates tools de la section HTML Templates.

Voilà à vous de jouer

Tout le crédit va à Makjmn je n'ai fait que raccourcir le code qu'il proposait pour en enlever des options.
Ji_D
Bonsoir, smile.gif

Je viens de procèder à la modification en local, mais lorsque je veux accéder à l'ACP ou au forum j'ai une erreur :
CODE
Parse error: parse error in c:\program files\internet & p2p\easyphp1-8\www\forum\sources\functions.php on line 2141


La ligne en question :
HTML
if ( empty($output_array['OVERRIDE']) )

Qui appartient à la mod GIGI_MP_MOD

L'erreur disparraît si je retire la ligne qui restrin la rubrique sur laquelle je ne désire pas de pub.
à savoir :
HTML
($ibforums->input['f'] != 34) &


J'ai essayé de différente manières :
HTML
($ibforums->input['act'] != 34) &

HTML
($ibforums->input['showforum'] != 34) &

HTML
($ibforums->input['c'] != 34) &


Mais le résultat est toujours le même sad.gif Une erreur.

Youp3
je ne suis pas sûr de ce que vous avez fait. Envoyez-moi votre fichier modifié par courriel. mon adresse est mon pseudo sur ce forum AT ipbr-fr.com
Ji_D
Ayant annulé toutes les modifications effectuées cette nuit, je viens de reprocèdé à l'installation et il s'avère que j'avais du faire une erreur ou omis quelque chose...
Tout semble fonctionner correctement smile.gif

Merci pour cette astuce ainsi que pour votre aide. smile.gif

EDIT :
Une chose m'étonne...

Sur l'image suivante, la première google ad est celle mise en place via votre astuce
La seconde annonce est celle affichée via le wrapper avant que je ne la retire.

user posted image

Sur l'une on ne voit qu'une pub et la seconde trois, il n'y aurais pas un petit problème ?
(sans vouloir abuser, perso je m'en fout un peu, qu'il y en est une ou trois)
Youp3
La plupart du temps sur notre portail il y a deux annonce dans le bandeau google. Et parfois il n'y en a qu'une seule. Cela doit donc venir de google.
Ji_D
En effet j'ai pu le constater plus tard, merci smile.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.