héhé, excellente initiative
Donc, effectivement, j'ai dernièrement un peut modifié l'affichage des adsence sur phpBB SEO.
Toujours dans le même esprit que dans
ce sujet, je part du principe qu'il vaut mieux n'afficher des adsense que pour les messages publics, ce qui dans le cas de phpBB SEO reviens à les afficher dans pratiquement tous les cas, seul les forums de l'équipe étant privés.
Je pense que c'est le mieux pour des forums majoritairement publics en ce que cela nous permet de ne pas compter des affichages dans des partie privés, ce qui fausserait un peut les stats, et, mais c'est pour l'instant une hypothèse de travail, parce que je pense que cela améliorera la pertinence des publicités, le bot adsense ayant toujours accès aux pages sur lesquelles des adsense seraient affichées.
Pour viewtopic.php, et dans la version actuelle ça donne, trouver :
- Code: Tout sélectionner
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
//
for($i = 0; $i < $total_posts; $i++)
Ajouter avant :
- Code: Tout sélectionner
// Google adsense mod www.phpbb-seo.com
$add_add = ( $userdata['user_id'] != 2 && $forum_topic_data['auth_view'] == 0 ) ? TRUE : FALSE;
$add_switch = (( floor( $start / intval($board_config['posts_per_page']) ) + 1 ) < ceil( $total_replies / intval($board_config['posts_per_page'])) )? TRUE : FALSE;
$add_after = 0;
if ( $add_add ) {
$adsence_code = 'code adsense complet';
}
// Google adsense mod www.phpbb-seo.com
Trouver :
- Code: Tout sélectionner
'U_POST_ID' => $postrow[$i]['post_id'])
);
Ajouter après :
- Code: Tout sélectionner
// Google adsense mod www.phpbb-seo.com
if ( $add_add && $i == $add_after ) {
$template->assign_block_vars('postrow.adsence', array(
'ADSENCE_CODE' => $adsence_code)
);
}
// Google adsense mod www.phpbb-seo.com
Trouver :
- Code: Tout sélectionner
$template->pparse('body');
Ajouter avant :
- Code: Tout sélectionner
// Google adsense mod dcz
if ( $add_add && $add_switch ) {
$template->assign_block_vars('adsence', array(
'ADSENCE_CODE' => $adsence_code)
);
}
// Google adsense mod dcz
Il faut bien entendu modifier le template correspondant, ouvrir viewtopic_body.tpl et trouver :
- Code: Tout sélectionner
<!-- END postrow -->
Remplacer par :
- Code: Tout sélectionner
<!-- BEGIN adsence -->
<tr>
<td width="100%" align="center" valign="top" class="row1" colspan="2">{postrow.adsence.ADSENCE_CODE}</td>
</tr>
<tr>
<td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END adsence -->
<!-- END postrow -->
<!-- BEGIN adsence -->
<tr>
<td width="100%" align="center" valign="top" class="row1" colspan="2">{adsence.ADSENCE_CODE}</td>
</tr>
<!-- END adsence -->
Commentaires : Ce mod affiche en l'état actuelle une pub adsence après le premier post, et une de plus en fin de sujet si il a une page supplémentaire. Ce qui nous permet de n'ajouter une pub que s'il y a suffisemment de contenu.
Le conditionnement de l'affichage :- Code: Tout sélectionner
$add_add = ( $userdata['user_id'] != 2 && $forum_topic_data['auth_view'] == 0 ) ? TRUE : FALSE;
C'est la condition d'affichae générale pour les deux pubs. Tu peux virer :
- Code: Tout sélectionner
$userdata['user_id'] != 2 &&
Si tu veux, c'est juste, pour ne pas afficher de pub pour le compte de l'utilisateur n°2, en général l'admin, mais il est aussi possible de limiter l'affichage pour tous les admin :
- Code: Tout sélectionner
$add_add = ( $userdata['user_level'] != ADMIN && $forum_topic_data['auth_view'] == 0 ) ? TRUE : FALSE;
Voir les modos :
- Code: Tout sélectionner
$add_add = ( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD && $forum_topic_data['auth_view'] == 0 ) ? TRUE : FALSE;
Voir tous les membres enregistrés :
- Code: Tout sélectionner
$add_add = ( !$userdata['session_logged_in'] && $forum_topic_data['auth_view'] == 0 ) ? TRUE : FALSE;
Celui de la deuxième pub :- Code: Tout sélectionner
$add_switch = (( floor( $start / intval($board_config['posts_per_page']) ) + 1 ) < ceil( $total_replies / intval($board_config['posts_per_page'])) )? TRUE : FALSE;
Là, on verifie s'il y a une page en plus dans le sujet. Si c'est le cas, on affiche la deuxième pub.
On pourrait se contenter de verifier qu'il y a plus de n messages sans que ce soit forcément suffisant pour afficher une nouvelle page, par exemple, s'il y a au moins dix messages sur la page en cours (c'est en général 15 par page) :
- Code: Tout sélectionner
$add_switch = (count($total_posts) >= 10 )? TRUE : FALSE;
La position de la première pub :- Code: Tout sélectionner
$add_after = 0;
Pour afficher la pub juste après le premier post, on pourrait mettre :
- Code: Tout sélectionner
$add_after = 1;
Pour l'afficher après le deuxième ...
Après, il faut juste mettre son code adsense à la place de :
- Code: Tout sélectionner
code adsense complet
Et hop.
Cette version ne gère pas d'affichage alternatif, dans le cas ou la pub n'est pas affichée (forum privé ou autre), la page est 100% sans ajout de code.
++