SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 205 visiteurs en ce moment

Accueil > Commerce > Thélia pour SPIP > Thélia

Thélia

Pour utiliser les boucles Thélia dans vos squelettes

26 juin 2007 – par alain cousin, Arnault Pachot, Aurélien D., Boyquotes, Claude, Emmanuel Nurit, Gilles Vincent, jfefe – 939 commentaires

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

63 votes

Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

Description

Thélia est un logiciel libre de vente en ligne basé sur un système boucle/balise très proche de celui de SPIP.

Ce plugin permet d’activer le moteur de Thélia [1] 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 :
-  vous gérez votre site SPIP et le catalogue Thélia depuis l’espace privé SPIP

Le plugin est livré avec tous les squelettes spécifiques pour la vente en ligne : panier.html commande.html .... basés sur la dist, et prêts à être personnalisés.

Documentations complémentaires

-  Utilisation avancée du plugin Thélia
-  Insérer des produits Thélia dans les articles
-  Wiki Thélia

Installation

Pour fonctionner, ce plugin requiert une installation préalable du logiciel Thélia en version 1.3.3 ou supérieure et dans le même répertoire que SPIP.

C’est à dire qu’après l’install vous devriez avoir une arborescence du style :

/
  /admin
  /classes
  /client
  /config
  /ecrire
  /fonctions
  /IMG
  /lib
  /local
  /oo
  /plugins
  /template
  /tmp
  index.php
  spip.php
  ...etc...

Je vous invite à consulter le site de Thélia pour obtenir toutes les informations nécessaires sur l’installation de thélia (en gros, copiez les fichiers puis lancez /install) [2].

Vous pouvez installer SPIP et Thélia dans la même base.

Etape 1 : Installation du plugin.

Récupérez le zip du plugin thélia, ainsi que celui du plugin CFG, sur l’espace de téléchargement de la Zone : http://files.spip.org/spip-zone/ [3]. L’installation se déroule ensuite comme pour tous les autres plugins, cf. http://www.spip.net/fr_article3396.html

L’installation se fait dans le répertoire /plugins/plugin-thelia

Etape 2 : Fichiers de redirection.

Vous avez deux possibilités :
-  copier les fichiers contenus dans le répertoire plugin-thelia/pb_htaccess à la racine de votre site (recommandé)
-  ou copier le contenu du fichier htaccess.plugin_thelia.txt fourni avec le plugin dans le fichier .htaccess à la racine de votre site.

Pour spip 2.0 et Thélia <IMG//> dans votre répertoire /squelettes

Pour Thélia 1.5 (inutile pour Thélia 1.5.1), vous devez :
-  désactiver l’encodage en UTF8 dans le panneau CFG du plugin Thélia
-  remplacer dans le fichier /fonctions/hierarchie.php les fonctions suivantes : (Merci à A. Bourdeau pour cette information)

  1. // Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
  2. // références circulaires dans la hiérarchie d'objets.
  3. function _chemin($id, $nomobj, $lang=1){
  4.  
  5. $ids = array();
  6.  
  7. $tab = array();
  8.  
  9. $tobj = new $nomobj();
  10. $tobj->parent = $id;
  11.  
  12. $objdesc = $nomobj."desc";
  13.  
  14. // On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
  15. $tab[] = new $objdesc();
  16.  
  17. $idx = 0;
  18.  
  19. while(intval($tobj->parent) != 0) {
  20. $ids[] = $tobj->parent;
  21.  
  22. $tobjdesc = new $objdesc();
  23.  
  24. if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
  25. {
  26. if (in_array($tobj->parent, $ids))
  27. {
  28. die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -&gt; ", $ids));
  29. }
  30.  
  31. $tab[$idx++] = $tobjdesc;
  32. }
  33. else
  34. {
  35. // Chargement impossible -> arrêt
  36. break;
  37. }
  38.  
  39. }
  40.  
  41. return $tab;
  42. }
  43.  
  44. // renvoie le chemin pour aller à une rubrique donnée
  45. function chemin($id, $lang=1){
  46. return _chemin($id, 'Rubrique', $lang);
  47. }
  48.  
  49. // renvoie le chemin vers un dossier
  50. function chemin_dos($id, $lang=1){
  51. return _chemin($id, 'Dossier', $lang);
  52. }

Télécharger

par :

  1. // Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
  2. // références circulaires dans la hiérarchie d'objets.
  3. function _chemin_thelia($id, $nomobj, $lang=1){
  4.  
  5. $ids = array();
  6.  
  7. $tab = array();
  8.  
  9. $tobj = new $nomobj();
  10. $tobj->parent = $id;
  11.  
  12. $objdesc = $nomobj."desc";
  13.  
  14. // On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
  15. $tab[] = new $objdesc();
  16.  
  17. $idx = 0;
  18.  
  19. while(intval($tobj->parent) != 0) {
  20. $ids[] = $tobj->parent;
  21.  
  22. $tobjdesc = new $objdesc();
  23.  
  24. if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
  25. {
  26. if (in_array($tobj->parent, $ids))
  27. {
  28. die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -&gt; ", $ids));
  29. }
  30.  
  31. $tab[$idx++] = $tobjdesc;
  32. }
  33. else
  34. {
  35. // Chargement impossible -> arrêt
  36. break;
  37. }
  38.  
  39. }
  40.  
  41. return $tab;
  42. }
  43.  
  44. // renvoie le chemin pour aller à une rubrique donnée
  45. function chemin($id, $lang=1){
  46. return _chemin_thelia($id, 'Rubrique', $lang);
  47. }
  48.  
  49. // renvoie le chemin vers un dossier
  50. function chemin_dos($id, $lang=1){
  51. return _chemin_thelia($id, 'Dossier', $lang);
  52. }

Télécharger

Pour zpip, vous devez :
-  copier le contenu du répertoire plugin-thelia/squelettes_zpip dans votre répertoire /squelettes

Un bouton vous permet d’accéder au catalogue Thélia depuis l’espace privé SPIP (Edition->Catalogue Thélia) :

Modification légère de la syntaxe de Thélia

Certaines balises Thélia sont identiques aux balises SPIP, par exemple #TITRE, #CHAPO. Pour éviter une confusion entre les deux moteurs, il sera nécessaire de modifier légèrement la syntaxe des balises Thélia.

La modification à faire est la suivante : préfixer les balises du mot THELIA- et supprimer le caractère #.

Ainsi, la balise #TITRE se rapportant à un titre Thélia doit être renommée THELIA-TITRE

Exemple de boucle Thélia

Pour illustrer la ressemblance entre la syntaxe SPIP et la syntaxe Thélia, voici un exemple de boucle simple (liste des rubriques du site)

Boucle SPIP :

  1. <ul>
  2. <BOUCLE_rubriques(RUBRIQUES)>
  3. <li><a href="#URL_RUBRIQUE">#TITRE</a></li>
  4. </BOUCLE_rubriques>
  5. </ul>

Télécharger

Boucle Thélia :

  1. <ul>
  2. <THELIA_rubriques type="RUBRIQUE">
  3. <li><a href="#URL">#TITRE</a></li>
  4. </THELIA_rubriques>
  5. </ul>

Télécharger

Boucle Thélia adaptée pour le plugin :

Pour en savoir plus sur les boucles et balises Thélia, consultez le wiki Thélia

Voir en ligne : Site de test

P.-S.

Pour aller plus loin avec le plugin : url-rewriting, association produits Thélia / articles SPIP, multilinguisme... reportez vous à l’article : utilisation avancée du Plugin Thélia.

Notes

[1Depuis 2014, Thelia propose une nouvelle version v2 qui n’est plus compatible : vous devez toujours utiliser la version 1.5.4.2 de Thélia, que vous trouverez sur SourceForge..

[2Après l’installation vous n’avez plus besoin de copier le contenu du répertoire template à la racine de votre site

[3En cas de problême sur ce lien de téléchargement voir les sites miroirs

Dernière modification de cette page le 5 janvier 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 24 mars à 14:25, par Lucie En réponse à : Thélia

    Bonjour,
    Je suis une néophyte (je réalise actuellement mon deuxième site en SPIP), et ce dernier doit inclure une boutique. J’ai vu que Thelia ne pouvait pas encore fonctionner avec la derniere version (SPIP 3.1), donc je pensais utiliser SPIP 3 + Thelia 1.5.4 + Plugin Thelia-SPIP. Pourriez-vous me dire si vous pensez que cette solution est adaptée à une personne qui n’est pas développeur ? Est-ce qu’il y a assez de documentation pour éclairer un débutant ? Merci pour vos lanternes...

    • Le 25 mars à 12:37, par Gilles En réponse à : Thélia

      Salut,
      Thélia est devenu incompatible avec SPIP depuis sa version 2. Et la version 1.5 n’est plus activement développée, ce qui explique que le plugin n’évolue pas (que l’on me corrige si je dis une grosse boulette).
      Perso, je pense que tu peux utiliser Prestashop assez facilement à côté du site SPIP, même si cela casse la simplicité que l’on avait.
      Avec un peu de codage et/ou des boucles externes, il est cependant assez facile de faire interagir les deux outils.
      Qu’est-ce que tu veux faire ?

    • Le 25 mars à 15:42, par Lucie En réponse à : Thélia

      Bonjour Gilles, et merci pour ton aide. Tu as raison concernant la version 2 de Thelia, elle n’est plus compatible avec SPIP.
      J’ai finalement réussi à intégrer Thelia (v1.5.4) à SPIP (v.3.0.22), avec accès à l’interface Thelia et son catalogue dans l’espace privé de SPIP, grâce au plugin Thelia-SPIP. Mon erreur était liée à l’arborescence des dossiers. Il faut mettre tous les fichiers confondus de SPIP et de THELIA au même niveau (htdocs)(sauf index.php de Thelia, car il existe déjà un fichier du même nom dans SPIP. Une autre chose importante à faire est de renommer le dossier Admin de Thelia dans plugins/auto/plugin-thelia/spip_thelia_options.php. Il faut réécrire la ligne define(’_THELIA_ADMIN’, ’admin_suffixedudossieradmin’) ;
      Il faut aussi renommer ce dossier dans le formulaire CFG de Thelia sur l’espace privé de SPIP.

      Cela pourra aider éventuellement certains qui auraient des difficultés comme j’ai eu, lors de l’installation...

      Maintenant je passe à la deuxième étape, l’intégration des boucles Thelia/SPIP dans mes squelettes... J’avance à tâtons...

      J’ai l’impression qu’il y a plus de documentation sur l’usage de Thelia que Prestashop dans SPIP, ce qui me rassure un peu n’étant pas développeuse... mais débutante. Est-ce que je me trompe ?

      Je cherche à faire un site qui ressemble un peu à ça : https://ocula.com/
      D’ailleurs, ce serait un site fait avec SPIP et Prestashop...
      voir : https://www.mail-archive.com/spip@rezo.net/msg70911.html

      Qu’en pensez-vous ? Pourrais-je arriver à un résultat similaire avec Thelia ?

      Merci encore pour votre aide, et tout ce travail commun.

    Répondre à ce message

  • Le 3 septembre 2014 à 22:52, par Michael En réponse à : Thélia

    Suite a une mise à jour de SPIP 2.0.10 vers 2.0.25, je rencontre un problème de configuration.

    Lorsque j’accède au catalogue Thelia via SPIP j’ai ce message d’erreur :

    « Le dossier d’admin de Thélia n’a pas été trouvé. Vérifiez que le chemin est correct dans le formulaire CFG de paramétrage du plugin. »

    Très bien mais lorsqu’on accède au formulaire CFG, nous avons ce message :
    « Accès refusé (cfg spip_thelia - spip_thelia - » et on ne peut rien faire ...

    Je peux accèder à Thelia via l’URL d’admin (sans passer par SPIP).

    Que puis je faire pou débloquer la situation ?

    Nous utilisons Thelia v1543.

    Merci !

    • Le 25 mars à 01:52, par Lucie En réponse à : Thélia

      J’ai le même soucis, "« Le dossier d’admin de Thélia n’a pas été trouvé. Vérifiez que le chemin est correct dans le formulaire CFG de paramétrage du plugin. »". Aviez-vous trouvé une solution ? J’y suis depuis des heures... rien n’y fait ! Merci d’avance...

    Répondre à ce message

  • Le 21 septembre 2009 à 19:13, par lbc En réponse à : Plugin Thélia

    Bonjour,
    J’ai tenté d’installer deux fois de suite le plugin en local sur wamp,
    mais à chaque fois ce message apparait :

    Warning : include_once(C :\wamp\www\spip\classes/Cnx.class.php) [function.include-once] : failed to open stream : No such file or directory in C :\wamp\www\spip\classes\Requete.class.php on line 28

    Warning : include_once() [function.include] : Failed opening ’C :\wamp\www\spip\classes/Cnx.class.php’ for inclusion (include_path=’. ;C :\php5\pear’) in C :\wamp\www\spip\classes\Requete.class.php on line 28

    Fatal error : Class ’Cnx’ not found in C :\wamp\www\spip\classes\Requete.class.php on line 34

    Quelqu’un pourrait m’indiquer de quoi il s’agit ?
    Merci

    • Le 21 septembre 2009 à 21:01, par Arnault En réponse à : Plugin Thélia

      Avez-vous lancé également l’install de thélia (/install) ?
      Vérifiez avant de tester le plugin, que thélia fonctionne correctement : que vous avez accès à l’espace d’admin dans /admin

    • Le 24 mars à 16:29, par Lucie En réponse à : Thélia

      Bonjour Arnault !

      J’ai deux questions un peu basiques certes, mais je suis débutante...

      1/ J’ai installé MAMP en local.
      Voici mon arboresence :
      MAMP > htdocs > SPIP > (tous les dossiers de SPIP)
      THELIA (tous les dossiers de THELIA)

      (SPIP et THELIA sont au même niveau, dans mon dossier htdocs).
      Est-ce convenable ?

      J’ai copié le dossier plugin-thelia/pb_htaccess à la racine de mon site (dans le dossier SPIP)
      Est-ce convenable ?!

      2/ Lorsque je vais sur localhost/thelia/install/choixbase.php, j’ai le choix entre la base de données mysql, performance_shema ou spip.
      Dois-je choisir SPIP ou mysql ???

      Désolé de vous embêter, merci pour votre précieuse contribution :-)

      Lucie.

    Répondre à ce message

  • Le 5 janvier 2016 à 12:50, par bruno31 En réponse à : Thélia

    Bonjour Arnaud

    J’aimerai savoir si ce plugin est toujours maintenu ?
    ou plus exactement, y’a t’il une bonne âme pour prendre en compte une petite évolution ?

    En effet, ce plugin force l’insertion de spipthelia.css dans le header.
    Il est impossible de surcharger, d’écraser, ce fichier avec un autre spipthelia.css, de façon à éviter d’embarquer des css et des images inutiles.

    Ce problème avait déjà été remonté sur la zone : http://archives.rezo.net/archives/s...
    et une solution simple y est donnée.
    Mais il faut modifier la fonction spip_thelia_insert_head($flux)

    • Le 3 janvier à 16:50, par ploufplouf En réponse à : Thélia

      Bonjour,

      En effet c’est bien dommage que ce plugin ne soit plus suivi car il offrait la possibilité d’un site e-commerce avec toute la gestion utile de la gestion des produits, des paniers, des clients et des règlements, ce qui reste encore un peu difficile avec les plugins actuels.

    Répondre à ce message

  • Le 11 octobre 2014 à 10:53, par Bryoflor En réponse à : Thélia

    Je pense qu’il est important de préciser que cette interface fonctionne avec Thelia 1.5 et ne fonctionne pas pour l’instant avec thelia 2.

    Répondre à ce message

  • Le 15 mai 2014 à 16:38, par Natacha Courcelles En réponse à : Thélia

    Bonjour à tous
    sur un site Spip 3 + Thélia 1.5

    j’ai un retour qui me dit qu’avec IE 9 la réécriture des urls ne fonctionne pas
    je n’ai pas IE9 et je ne vois pas ce problème avec Firefox, chrome IE7 et IE8 et IE10

    je vous donne l’adresse car c’est le seul moyen pour vérifier (pas de pub)
    pour faire simple dans une rubrique les liens les précédents / suivants zappent « -3—les-vieux-millesimes-domaine-de-cassaigne.html » et remplace par spip.php

    Ça donne http://www.chateaudecassaigne.com/spip.php?page_thelia=2&lang=fr

    au lieu de

    http://www.chateaudecassaigne.com/-3--les-vieux-millesimes-domaine-de-cassaigne.html?page_thelia=2&lang=fr

    et cela provoque une erreur et un retour à la page d’accueil

    merci d’avance pour vos idées
    bien cordialement
    Natacha Courcelles

    Répondre à ce message

  • Le 8 avril 2014 à 10:06, par FredP En réponse à : Thélia

    Cela peut en aider d’autres : spip3.0 et thelia 1.5.4.3, j’avais une erreur 404 lorsque je cherchais à accéder à l’interface thelia depuis l’interface privée spip.

    Il faut modifier le iframe dans le fichier « spip_thelia_catalogue.html » situé ici : plugin-thelia\prive\squelettes\contenu\ et tout marche nickel (du moins on accède à l’interface thélia depuis l’interface privée de spip)

    1. <iframe src='../admin_thelia'
    2. style='width:100%;height:600px;'
    3. frameborder='0' scrolling='auto' id='iFrameToAdjust' >
    4. </iframe>

    Télécharger

    Répondre à ce message

  • Le 29 mai 2013 à 16:35, par escurel En réponse à : Thélia

    Bonjour,
    j’essaie d’installer en local, spip 3.0.10 + thelia 1.5.4 + le plugin thelia 1.5 SVN [68537] et je rencontre un soucis.

    -  la page de configuration http://localhost/boutique/ecrire/?exec=configurer_spip_thelia fonctionne bien, les valeur sont enregistrées et restituées correctement, le chemin vers de répertoire admin dans mon test : « adminthelia » est OK ;

    -  En revanche quand je passe à l’interface de thélia http://localhost/boutique/ecrire/?exec=spip_thelia_catalogue

    le message d’erreur suivant s’affiche :
    Not Found
    The requested URL /adminthelia was not found on this server.

    Là je sèche.
    merci d’avance pour vos éclairages.
    cordialement

    • Le 27 juillet 2013 à 15:39, par aw En réponse à : Thélia

      tu clic droit sur ta page d’erreur et tu ouvre dans un nouvel onglet, tu comprendra d’ou vient le pb !

    • Le 15 mars 2014 à 22:04, par Regis En réponse à : Thélia

      Bonjour,

      Je rencontre le même problème. freebsnet, as-tu pu régler ton problème ?

      aw, je n’ai pas compris la manipulation que tu recommandes. Que faut-il ouvrir dans un nouvel onglet pour comprendre ?

      Cordialement,

    • Le 16 mars 2014 à 20:43, par Regis En réponse à : Thélia

      Bonjour,

      À force de fouiller dans le code, j’ai fini par trouver le problème.

      Il viens du fait que la variable contenant l’url de l’iframe de l’admin de Thelia n’est pas bonne. Comme je n’ai pas réussi à corriger la variable j’ai mis l’url en dure dans le fichier :

      www.monsitespip.fr\plugins\plugin-thelia\prive\squelettes\contenu\spip_thelia_catalogue.html

      ligne 7

      <iframe src=’../admin’ style=’width:100% ;height:600px ;’ frameborder=’0’ scrolling=’auto’ id=’iFrameToAdjust’ ></iframe>

    Répondre à ce message

  • Le 28 novembre 2013 à 15:10, par jacangers En réponse à : Thélia

    Bonjour

    que deviens la solution SPIP-thelia avec la nouvelle version thelia 2 ???

    Répondre à ce message

  • Le 25 octobre 2013 à 18:27, par Frederic Pairot En réponse à : Thélia

    Bonjour à tous,

    Lors de l’activation du plugin j’ai l’erreur suivante :
    Fatal error : Call to undefined function lire_config() in [monsiteweb]/plugins/plugin-thelia/spip_thelia_options.php on line 25

    Ma config est : spip 2.1.9 et Thelia 1.3.4

    Queqlu’un a-t-il une idée pour m’aider ?

    Merci ;-)

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2138 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Plugin Logo SVG : pouvoir utiliser des logos SVG

    17 octobre 2016 – commentaires

    Le SVG est un format vectoriel donc très léger et redimensionnable sans pertes, mais SPIP ne l’acceptait pas sur les logos. Ce plugin comble ce manque. Comment ça fonctionne ? Vous installez ce plugin, vous l’activez, et c’est tout. Crédits Une (...)

  • Menu animé déroulant

    16 août 2015 – 39 commentaires

    Barre de menu dynamique multi niveaux - adaptation aisée (?) des couleurs et dimensions - convient aussi aux petits écrans (mobiles).

  • Thélia

    26 juin 2007 – 939 commentaires

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • Ferme à SPIP

    3 janvier 2008 – 140 commentaires

    Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec le plugin "Mutualisation" à partir d’un nom de domaine principal.