SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

179 visiteurs en ce moment

Accueil du site > Contribs > Contribs dédiées > Commerce > Thélia pour SPIP > Utilisation avancée du plugin Thélia

Utilisation avancée du plugin Thélia

dimanche 22 juin 2008, par Arnault Pachot, Aurélien D.

Toutes les versions de cet article : [Español] [français]

Associer des produits aux articles, url-rewriting et multilinguisme

Le plugin Thélia permet l’utilisation conjointe de SPIP et Thélia pour des sites mixtes : de publication et de vente en ligne.

Associer un produit thélia à un article

Il y a désormais [1] une interface dans l’espace privé pour pouvoir associer un/des produits à une rubrique ou un article. Cette interface s’active dans le panneau de configuration cfg du plugin.

Dans les squelettes, on peut utiliser 4 nouvelles boucles :
- PRODUITS_ARTICLES : produits Thélia associés aux articles SPIP
- RUBRIQUESTHELIA_ARTICLES : rubriques Thélia associées aux articles SPIP
- PRODUITS_RUBRIQUES : produits Thélia associés à des rubriques SPIP
- RUBRIQUESTHELIA_RUBRIQUES : rubriques Thélia associées à des rubriques SPIP

exemple pour afficher les produits associés à une rubrique :

Associer un article et un produit peut-être utile si par exemple vous avez des fiches de produits sur le site sous forme d’articles SPIP (ce qui permet de bénéficier des atouts de SPIP pour l’édition du contenu, les images, les forums...), et que vous souhaitiez insérer un lien automatique vers l’ajout au panier pour certaines d’entre elles.

C’est un système souple qui peut être utilisé pour d’autres fonctions, par exemple associer une rubrique SPIP à une rubrique dans Thélia. Ainsi lorsque la rubrique SPIP est affichée, on peut proposer dans un encart les produits de la rubrique Thélia associée...

Url rewriting

Pour utiliser la réecriture d’adresse coté Thélia, il faut ajouter dans le .htaccess le code suivant (à l’endroit où se trouvent les rewriterules) :

Ensuite, dans les squelettes (inc-rubriques.html, rubrique_thelia.html, produit.html..etc..) 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

Régler les conflits sur la classe smtp

On rencontre parfois un conflit sur la class Smtp, utilisée par Thélia, mais aussi par certains plugins SPIP, dont "envoyer à un ami" et "spip-lettres".

Vous pouvez mettre en commentaire dans fonctions/moteur.php la ligne 58, qui contient l’appel à Smtp.class.php :

//include_once("classes/Smtp.class.php");

Multilinguisme

SPIP et Thélia utilisent tous les deux la variable lang dans l’url, mais les valeurs attendues ne sont pas les mêmes. Dans SPIP, lang prend pour valeur deux caractères, alors que dans thélia, lang prend pour valeur un nombre.

Par défaut, il n’y a que trois langues dans Thélia, les autres langues se rajoutent manuellement au besoin dans la table lang.
- le français : 1
- l’anglais : 2
- l’espagnol : 3

Il est donc important de faire une correspondance entre le nommage de SPIP et le nommage de Thélia. Le plugin est paramétré correctement pour les 3 langues par défaut de Thélia, mais si vous êtes amenés à en ajouter d’autres, il est alors nécessaire de personnaliser les correspondances.

- dans ce cas, modifiez le fichier spip_thelia_fonc.php, ligne 94 :

Utiliser le plugin commentaires de Thélia

Il existe un plugin dans Thélia qui permet d’ajouter des commentaires sur les produits http://contrib.thelia.fr/spip.php?a....

Si vous souhaitez l’utiliser sur votre site spip-thélia, il faut modifier le fichier Commentaires.class.php (ligne 102) et remplacer :

if(isset($_POST['action']) && $_POST['action'] == "ajcommentaire"){

par

if(isset($_POST['thelia_action']) && $_POST['thelia_action'] == "ajcommentaire"){

Voici un exemple d’intégration dans le squelette produit.html

Vendre des produits virtuels

Si vous utilisez le plugin produits virtuels de Thélia http://contrib.thelia.fr/spip.php?a..., remplacez dans Prodvirtuel.class.php ligne 244 : action=prodvirtueldl par thelia_action=prodvirtueldl

Notes

[1] à partir de la version 1.2 du plugin

10 Messages de forum

Voir toute la discussion
  • Répondre à ce message

    26 septembre 17:59 , par Arnault Pachot

    Au fait, si tu veux nous envoyer le fichier générique en hollandais, je l’ajouterai au plugin

    ++

  • Répondre à ce message

    26 septembre 17:53 , par Arnault Pachot

    Salut,

    c’est parce que toutes les chaînes de langue des squelettes sont gérées par SPIP. Ce sont des variables de type <:spipthelia:ma_chaine_de_langue :>

    donc SPIP va tout seul chercher si un fichier de langue spipthelia_nl.php existe pour le hollandais dans /lang

    ++

  • Répondre à ce message

    26 septembre 13:04

    Je me répond à moi même... J’ai ajouté une langue 4 dans la table lang, ajouté l’association nl/4 au niveau du plugin, et créé un fichier spipthelia_nl.php et visiblement, cela fonctionne...

    Je ne comprends toujours pas comment l’association est faite... J’imagine que les fichiers spipthelia_xx.php sont spécifiques au plugin et ne font pas partie de l’implémentation standard de spip et que c’est donc le plugin qui gère l’association.

  • Répondre à ce message

    26 septembre 10:38

    Bonjour,

    Quelqu’un pourrait-il m’expliquer comment ajouter une langue dans Thelia (ou en remplacer une existante) ?

    J’ai bien compris qu’il fallait ajouter la langue dans la table "lang" directement, mais comment Thelia va-t-il faire le lien avec le fichier de langue correct (p.ex : spipthelia_fr.php). J’aimerais ajouter le néerlandais à mon site (donc avoir un spipthelia_nl.php et pouvoir traduire les produits en néerlandais via l’interface d’admin !).

    Merci

  • Répondre à ce message

    31 juillet 12:33 , par Rainer

    Merci pour ce plugin que je suis en train de découvrir

    Avec des produits associé á l’article j’obtiens le message suivant : Warning : Invalid argument supplied for foreach() in /plugins/balise_session/public/cacher.php on line 32

    Une solution ?

    Rainer

  • Répondre à ce message

    31 juillet 11:57 , par Xavier

    Bon alors cette fois-ci j’ai bien la fenêtre pour associer un produit à mon article mais quand je clic dessus pour qu’elle s’ouvre et me présente les produits à mettre dans mon article j’ai ce message d’erreur : "Warning : mysql_num_rows() : supplied argument is not a valid MySQL result resource in /mnt/148/sda/2/7/bienvenuealabadie/la-mouniche/fonctions/boucles.php on line 119"

    ça fonctionne pas avec la dernière version de Thélia (1.3.6) ?

  • Répondre à ce message

    31 juillet 11:23 , par Xavier

    Oui, c’est ce que je viens de trouver aussi à l’instant... lol

  • Répondre à ce message

    30 juillet 16:11

    autant pour moi ! il faut prendre la version dev qui correspond à la 1.2

  • Répondre à ce message

    30 juillet 16:00

    même problème pour moi ! qqn a une solution ?

  • Répondre à ce message

    25 juillet 10:52 , par Xavier

    Je ne comprends pas... J’ai la version 3.6 de Thélia et ça fonctionne bien, mais je ne trouve nullepart une interface pour associer un produit à une rubrique ou à un article. La seule chose que cfg me propose dans la configuration est le choix de la version pour le plugin Thélia. Je choisis version 3.4 ou supérieur et il me dit qu’il le prend en compte mais ça s’arrête là.

Répondre à cet article

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0