La réécriture d'URL l’utilisation conjointe des deux logiciels SPIP et Thélia

De TheliaDoc
Aller à : navigation, rechercher
Erreur lors de la création de la miniature : Impossible d'enregistrer la vignette sur la destination

le plugin thelia-spip

Ce plugin permet d’activer le moteur de Thélia après celui de SPIP,lors du calcul des pages. ce qui va vous permettre d’utiliser directement les boucles au format Thélia dans vos squelettes.

Pour spip dans le répertoire config modifié ou créer le fichier mes_options.php

inséré le code suivant pour activer la réécriture d'URL

<?php

$type_urls= 'propres2' ;

?>

Le fichier .htacess

Options +FollowSymlinks
RewriteEngine on

###
# THELIA
RewriteRule ^(cheque|adresse|commande|commande_detail|commande_visualiser|compte_modifier
|compte_modifiererr|connexion|creercompte|formulerr|imgpop|livraison_adresse|mdpoublie
|merci|moncompte|nouveau|panier|produit|regret|virement)\.php$	spip.php?page=$1 [QSA,L]
RewriteRule ^(rubrique)\.php$	spip.php?page=$1_thelia [QSA,L]

#RUBRIQUE
##############

RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)_\.html
spip.php?page=rubrique_thelia&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_\.html
spip.php?page=rubrique_thelia&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_\.html
spip.php?page=rubrique_thelia&id_rubrique=$2  [NC,QSA,L]


#PRODUIT
#############
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)_([a-z0-9-]*)__([^.]*)\.html
spip.php?page=produit&ref=$5&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)_([a-z0-9-]*)__([^.]*)\.html
spip.php?page=produit&ref=$4&id_rubrique=$2  [NC,QSA,L]
RewriteRule   ^([a-z0-9-]*)_([0-9]*)__([^.]*)\.html
spip.php?page=produit&ref=$3&id_rubrique=$2  [NC,QSA,L]

# FIN THELIA
###

###
# SPIP
# URLs "propres" et "propres2"
# pensez a regler $type_urls='propres' ou 'propres2'
# dans ecrire/mes_options.php
# (fichier associe : ecrire/urls/propres.php)

# Les mots-cles
RewriteRule ^\+-[^/\.]+(-\+)?(\.html)?$	spip.php?page=mot [QSA,E=url_propre:$0,L]

# Les breves
RewriteRule ^\+[^/\.]+\+?(\.html)?$ 	spip.php?page=breve [QSA,E=url_propre:$0,L]

# Les rubriques
RewriteRule ^-[^/\.]+-?(\.html)?$	spip.php?page=rubrique [QSA,E=url_propre:$0,L]

# les auteurs
RewriteRule ^_[^/\.]+_?(\.html)?$	spip.php?page=auteur [QSA,E=url_propre:$0,L]

# Les sites
RewriteRule ^@[^/\.]+@?(\.html)?$	spip.php?page=site [QSA,E=url_propre:$0,L]

# Les articles (en dernier car expression plus "large")
RewriteRule ^[^/\.]+(\.html)?$		spip.php?page=article [QSA,E=url_propre:$0,L]

# Fin URLs "propres" et "propres2"
# FIN SPIP
###

il faut bien respecter l'ordre dans le fichier .htacess

  • thelia en premier
  • spip en deuxième

sinon dysfonctionnement

Dans les squelettes du plugin spip-thelia

  • inc-rubriques.html
  • rubrique_thelia.html
  • produit.html

remplacer les URL spip vers des rubriques ou des produits par la balise

THELIA-REWRITEURL

par exemple, dans rubrique_thelia.html ligne 48 et 54 :

#URL_PAGE{produit,ref=THELIA-REF&id_rubrique=THELIA-RUBRIQUE_ID}
  • devient :
THELIA-REWRITEURL

par exemple, inc-rubriques.html

<T_rubriquesthelia> 
<ul>
 <THELIA_rubriquesthelia type="RUBRIQUE" parent="0">
  <li>
   <a href="THELIA-REWRITEURL">THELIA-TITRE</a>
    <ul>
     <THELIA_sous_rubriques2 type="RUBRIQUE" parent="THELIA-ID">
      <li>
       <a href="THELIA-REWRITEURL">THELIA-TITRE</a>
      </li>
    </THELIA_sous_rubriques>
    </ul>
   </li>
 </THELIA_rubriquesthelia>
</ul>
</T_rubriquesthelia>
<//T_rubriquesthelia>

les liens à consulter pour le plugin spip-thelia

--alainormandie 21 septembre 2008 à 08:19 (CEST)