Arcade rewrite

Le forum de support du mod de réécriture d'URL pour phpBB3 en version Avancée.
Ce mod de réécriture d'url injecte les titres forums et des sujets dans leurs URLs.

Modérateur: Modérateurs

Arcade rewrite

Messagede Laurent85 » Lun Juil 27, 2009 8:20 am

Salut


Depuis plusieurs jours, j'essaie d'adapter le mod rewrite avancé au mod arcade (, je suis parti sur une base pour réécrire les catégories dans un premier temps) et si cela fonctionne je prendrai la même méthode pour les pages de jeux. pour avoir : mon-titre-dejeux-g125.html et mes catégories : nom-catéegories-c12.html par exemple .

J'ai donc essayé d'adapter mais je ne sais pas du tout si tout cela va fonctionner correctement même si j'ai été aiguillé sur la méthode par dcz sur le chat .

J'ai pensé qu'il fallait ajouté un code sur la page où sont créé les liens et le reste dans le fichier set up phpbbseo

Merci à tous d'avance à tous ceux qui pourront m'aider :wink:

Code: Tout sélectionner
    Page Arcadelist

    création du lien navigation
    arcade_list.php

             'ARCADE_CAT_PIC'   => isset($liste_cat_auth[$i]['ra_cat_pic']) ? "<img src='" . "arcade/pics_cat/" . $liste_cat_auth[$i]['ra_cat_pic'] . "' title='" . $liste_cat_auth[$i]['ra_cat_title'] . "' alt='" . $liste_cat_auth[$i]['ra_cat_title'] . "'/>" : '',
             'CAT'             => isset($liste_cat_auth[$i]['ra_cat_id']) ? '<a href="' .append_sid("arcade_list.$phpEx?cid=".$liste_cat_auth[$i]['ra_cat_id']."") . '">' . $liste_cat_auth[$i]['ra_cat_title'] . '</a>' : '',
             'NB_GAMES'          => isset($liste_cat_auth[$i]['ra_cat_nbgames']) ? '(' . $liste_cat_auth[$i]['ra_cat_nbgames'] . ')' : '',
       
       // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                $catgame['seo_url'][$row['ra_cat_id']] = $phpbb_seo->prepare_url('catgame', $row['ra_cat_title'], $row['ra_cat_id']);
                // www.phpBB-SEO.com SEO TOOLKIT END
               
             ___________________________________________________________________________________
             
    setup_phpbb_seo.php

    $this->seo_url['catgame'] = array();
          $this->seo_ext['catgame'] = '/';
          $this->seo_delim['catgame'] = '-cg';
          $this->seo_static['catgame'] = 'catgame';
          $this->seo_path['catgame_url'] = $this->seo_path['catgame_urlR'] = $this->seo_path['phpbb_url'] ;
          $this->seo_path['catgame']= $phpbb_root_path ;
          $this->rewrite_method[$this->seo_path['arcade_list'] = 'catgame';
          $this->file_hbase['catgame'] = $this->file_hbase['arcade_list'] = $this->seo_path['catgame_url'];
          $this->sftpl['catgame'] = '%2$s' . $this->seo_delim['catgame'] . '%3$s';
          $this->phpbb_filter['catgame']['catgame'] = array('sk' => 't', 'sd' => 'd', 'st' => 0);
         
          puis
         
         
          function catgame() {
          $this->path = $this->seo_path['catgame_urlR'];
          if (!empty($this->get_vars['id'])) {
             $this->get_vars['ra_cat_id'] = $this->get_vars['id'];
          }
          if ( !empty($this->get_vars['ra_cat_id']) && !empty($this->seo_url['catgame'][$this->get_vars['ra_cat_id']]) ) {
             $this->filter_get_var($this->phpbb_filter['catgame']['catgame']);
             $this->url = $this->seo_url['catgame'][$this->get_vars['ra_cat_id']] . $this->start;
             unset($this->get_vars['ra_cat_id'], $this->get_vars['id']);
             return;
          }
          $this->path = $this->seo_path['catgame_url'];
          ________________________________
         
          htaccess
         
         
          # CATGAME
    RewriteRule ^/[a-z0-9_-]*-a([0-9]+)/?(page([0-9]+)\.html)?$ /arcade_list.php?cid=$1&start=$3 [QSA,L,NC]
Avatar de l’utilisateur
Laurent85
PR1
PR1
 
Messages: 186
Inscription: Lun Fév 18, 2008 11:33 pm

Publicité

Re: Arcade rewrite

Messagede dcz » Lun Juil 27, 2009 9:48 am

Déjà remplaces :
Code: Tout sélectionner
$this->rewrite_method[$this->seo_path['arcade_list'] = 'catgame';

Par :
Code: Tout sélectionner
$this->rewrite_method[$this->seo_path]['arcade_list'] = 'catgame';


Pour que les liens de arcade_list.php soient réécrits par catgame().

Ensuite, je pense que tu peux virer :
Code: Tout sélectionner
          if (!empty($this->get_vars['id'])) {
             $this->get_vars['ra_cat_id'] = $this->get_vars['id'];
          }

de catgame(), et ajouter :
Code: Tout sélectionner
$this->paginate_method['catgame'] = $this->seo_ext['catgame'] === '/' ? 'rewrite_pagination_page' : 'rewrite_pagination';

après :
Code: Tout sélectionner
$this->seo_ext['catgame'] = '/';


Puis ajouter :
Code: Tout sélectionner
         $this->{$this->paginate_method['catgame']}($this->seo_ext['catgame']);

après :
Code: Tout sélectionner
            $this->filter_get_var($this->phpbb_filter['catgame']['catgame']);


Pour la pagination.
Enfin, dans arcade_liste.php, vires :
Code: Tout sélectionner
       // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                $catgame['seo_url'][$row['ra_cat_id']] = $phpbb_seo->prepare_url('catgame', $row['ra_cat_title'], $row['ra_cat_id']);
                // www.phpBB-SEO.com SEO TOOLKIT END

et avant le début du parsing des variable de template ( 'ARCADE_CAT_PIC' => ...) ajoutes :
Code: Tout sélectionner
                // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                $phpbb_seo->prepare_url('catgame', $row['ra_cat_title'], $row['ra_cat_id']);
                // www.phpBB-SEO.com SEO TOOLKIT END


Et ça doit pas être trop loin du truc ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21411
Inscription: Ven Avr 28, 2006 9:03 pm

Re: Arcade rewrite

Messagede Laurent85 » Lun Juil 27, 2009 10:53 am

merci j'ai fait les modifs

et j'ai comme erreurs
Code: Tout sélectionner
Parse error: syntax error, unexpected ';', expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home//www/phpbb_seo/includes/setup_phpbb_seo.php on line 303


qui est la derniere ligne

et si je l'enleve j'ai donc

Code: Tout sélectionner
Parse error: syntax error, unexpected $end in /home//www/phpbb_seo/includes/setup_phpbb_seo.php on line 303


pour arcadelist j'ai mis avant

Code: Tout sélectionner
//Affichage par groupe de $arcade_nbcol catégories
$arcade_nbcol = intval($arcade_config['nb_cat_per_row']);
if ($arcade_nbcol == 0) $arcade_nbcol = 1;
$template->assign_vars(array(
    'L_NB_COL' => $arcade_nbcol,
   'L_W_COL' => (100 / $arcade_nbcol))
);
$i = 0;
while ($i < $nbcat_auth)
{// www.phpBB-SEO.com SEO TOOLKIT BEGIN
                    $phpbb_seo->prepare_url('catgame', $row['ra_cat_title'], $row['ra_cat_id']);
        // www.phpBB-SEO.com SEO TOOLKIT END
   $template->assign_block_vars('arcadecatrow', array());
   for ($j = 0; $j < $arcade_nbcol; $j++)
   {
                      
      $template->assign_block_vars('arcadecatrow.arcadecatcol', array(
         'ARCADE_CAT_PIC'   => isset($liste_cat_auth[$i]['ra_cat_pic']) ? "<img src='" . "arcade/pics_cat/" . $liste_cat_auth[$i]['ra_cat_pic'] . "' title='" . $liste_cat_auth[$i]['ra_cat_title'] . "' alt='" . $liste_cat_auth[$i]['ra_cat_title'] . "'/>" : '',
         'CAT'             => isset($liste_cat_auth[$i]['ra_cat_id']) ? '<a href="' .append_sid("arcade_list.$phpEx?cid=".$liste_cat_auth[$i]['ra_cat_id']."") . '">' . $liste_cat_auth[$i]['ra_cat_title'] . '</a>' : '',
         'NB_GAMES'          => isset($liste_cat_auth[$i]['ra_cat_nbgames']) ? '(' . $liste_cat_auth[$i]['ra_cat_nbgames'] . ')' : '',
               ));
      $i++;
   }


et pour le fichier setup ainsi

Code: Tout sélectionner
////Arcademod category
     $this->seo_url['catgame'] = array();
      $this->seo_ext['catgame'] = '/';
      $this->paginate_method['catgame'] = $this->seo_ext['catgame'] === '/' ? 'rewrite_pagination_page' : 'rewrite_pagination';
      $this->seo_delim['catgame'] = '-cg';
      $this->seo_static['catgame'] = 'catgame';
      $this->seo_path['catgame_url'] = $this->seo_path['catgame_urlR'] = $this->seo_path['phpbb_url'] ;
      $this->seo_path['catgame']= $phpbb_root_path ;
       $this->rewrite_method[$this->seo_path]['arcade_list'] = 'catgame';
      $this->file_hbase['catgame'] = $this->file_hbase['arcade_list'] = $this->seo_path['catgame_url'];
      $this->sftpl['catgame'] = '%2$s' . $this->seo_delim['catgame'] . '%3$s';
      $this->phpbb_filter['catgame']['catgame'] = array('sk' => 't', 'sd' => 'd', 'st' => 0);
      /////Arcademod category end

    
      // Let's make sure that settings are consistent
      $this->check_config();
   }
   // Here start the add-on methods
   /**
    
   */// catgamecategory
   function catgame() {
      $this->path = $this->seo_path['catgame_urlR'];
            if ( !empty($this->get_vars['ra_cat_id']) && !empty($this->seo_url['catgame'][$this->get_vars['ra_cat_id']]) ) {
         $this->filter_get_var($this->phpbb_filter['catgame']['catgame']);
         $this->{$this->paginate_method['catgame']}($this->seo_ext['catgame']);
         $this->url = $this->seo_url['catgame'][$this->get_vars['ra_cat_id']] . $this->start;
         unset($this->get_vars['ra_cat_id'], $this->get_vars['id']);
         return;
      }
      $this->path = $this->seo_path['catgame_url'];



apperement c'est lié à la fonction :cry:
Avatar de l’utilisateur
Laurent85
PR1
PR1
 
Messages: 186
Inscription: Lun Fév 18, 2008 11:33 pm

Re: Arcade rewrite

Messagede dcz » Jeu Juil 30, 2009 7:48 am

Ça serait plus simple si tu joignais un zip de ces trois fichiers ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21411
Inscription: Ven Avr 28, 2006 9:03 pm

Re: Arcade rewrite

Messagede Laurent85 » Lun Aoû 03, 2009 9:36 pm

Ok merci , j'ai joint les fichiers phpbbseo_setup et la page qui créé les liens des catégories (arcadelist) le htaccess et la page de jeu (arcadegame) .

je veux faire au plus simple pour les catégories et pour les pages jeux (sans le nom de la catégories) :wink:

Téléchargment du Zip

Merci :wink:
Avatar de l’utilisateur
Laurent85
PR1
PR1
 
Messages: 186
Inscription: Lun Fév 18, 2008 11:33 pm

Re: Arcade rewrite

Messagede Laurent85 » Jeu Aoû 13, 2009 1:55 pm

J'ai reessayé et tourner tes conseils dans tous les sens, je n'y arrive pas , si quelqu'un a une idée :wink:

j'ai vu deux sites qui ont réussi mais ils ne partagent pas leur patch :(
Avatar de l’utilisateur
Laurent85
PR1
PR1
 
Messages: 186
Inscription: Lun Fév 18, 2008 11:33 pm


Retourner vers Réécriture URL Avancée

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité