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 : https://files.spip.net/spip-zone/ [3]. L’installation se déroule ensuite comme pour tous les autres plugins, cf. https://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 < 1.5.1 vous devez également :
- modifier le fichier /ecrire/inc/utils.php et mettre en commentaire la fonction chemin() (ligne 671),
- copier le contenu du répertoire plugin-thelia/squelettes_spip2.0
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)
// Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
// références circulaires dans la hiérarchie d'objets.
function _chemin($id, $nomobj, $lang=1){
$ids = array();
$tab = array();
$tobj = new $nomobj();
$tobj->parent = $id;
$objdesc = $nomobj."desc";
// On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
$tab[] = new $objdesc();
$idx = 0;
while(intval($tobj->parent) != 0) {
$ids[] = $tobj->parent;
$tobjdesc = new $objdesc();
if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
{
if (in_array($tobj->parent, $ids))
{
die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -> ", $ids));
}
$tab[$idx++] = $tobjdesc;
}
else
{
// Chargement impossible -> arrêt
break;
}
}
return $tab;
}
// renvoie le chemin pour aller à une rubrique donnée
function chemin($id, $lang=1){
return _chemin($id, 'Rubrique', $lang);
}
// renvoie le chemin vers un dossier
function chemin_dos($id, $lang=1){
return _chemin($id, 'Dossier', $lang);
}
par :
// Renvoie le chemin pour aller à une hierarchie d'objets, avec protection contre les
// références circulaires dans la hiérarchie d'objets.
function _chemin_thelia($id, $nomobj, $lang=1){
$ids = array();
$tab = array();
$tobj = new $nomobj();
$tobj->parent = $id;
$objdesc = $nomobj."desc";
// On doit toujours retourner au moins un element, sinon bouclage dans l'admin...
$tab[] = new $objdesc();
$idx = 0;
while(intval($tobj->parent) != 0) {
$ids[] = $tobj->parent;
$tobjdesc = new $objdesc();
if (intval($tobj->parent) > 0 && $tobj->charger($tobj->parent) && $tobjdesc->charger($tobj->id, $lang))
{
if (in_array($tobj->parent, $ids))
{
die("Référence circulaire détectée dans la hiérarchie des ${nomobj}s à partir de l'ID=$tobj->id. Chemin: ".implode(" -> ", $ids));
}
$tab[$idx++] = $tobjdesc;
}
else
{
// Chargement impossible -> arrêt
break;
}
}
return $tab;
}
// renvoie le chemin pour aller à une rubrique donnée
function chemin($id, $lang=1){
return _chemin_thelia($id, 'Rubrique', $lang);
}
// renvoie le chemin vers un dossier
function chemin_dos($id, $lang=1){
return _chemin_thelia($id, 'Dossier', $lang);
}
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 :
<ul>
<BOUCLE_rubriques(RUBRIQUES)>
<li><a href="#URL_RUBRIQUE">#TITRE</a></li>
</BOUCLE_rubriques>
</ul>
Boucle Thélia :
<ul>
<THELIA_rubriques type="RUBRIQUE">
<li><a href="#URL">#TITRE</a></li>
</THELIA_rubriques>
</ul>
Boucle Thélia adaptée pour le plugin :
<ul>
<THELIA_rubriques type="RUBRIQUE">
<li><a href="THELIA-URL">THELIA-TITRE</a></li>
</THELIA_rubriques>
</ul>
Pour en savoir plus sur les boucles et balises Thélia, consultez le wiki Thélia
Discussions par date d’activité
304 discussions
Bonjour, désolé si si je suis dans l’erreur mais, il y a la ligne 18 https://git.spip.net/spip-contrib-extensions/plugin-thelia/src/branch/master/exec/spip_thelia_catalogue.php#L18 ici dont je ne comprends pas bien l’utilité.
Sur l’éditeur visual code studio, cela donne une erreur de syntaxe.
Répondre à ce message
J’essaye de mettre en place l’authentification unique et j’ai un peu de mal à comprendre ce qui se passe et pourquoi.
- Si on est déjà connecté SPIP, je vois que c’est le formulaire de login THELIA qui est présenté.
- Si on n’est pas connecté SPIP, c’est le formulaire de login SPIP qui est présenté. Donc on se connecte SPIP, mais tout de suite après le formulaire login THELIA est présenté.
Il semble qu’on ne peut pas se connecter en une seule opération ? Est-ce normal ?
J’espère que Arnaud pourra m’éclairer :)
Répondre à ce message
Bonjour à tous et aux créateurs de ce plugin en particulier.
J’envisage de passer en SPIP3.1 puis en SPIP3.2. Le plugin n’est pas compatible depuis 3.1
Je pourrais m’occuper de la migration du plugin pour une compatibilité 3.1/3.2
mais avant de me lancer, j’aimerai évaluer la faisabilité et la charge de travail.
Est-ce qu’un des développeurs de ce plugin peut me donner son avis sur le travail à faire pour migrer ce plugin ?
As tu deja simplement essayé de voir s’il n’était pas compatible 3.2 mais juste pas marqué comme tel ?
Hi Maïeul
Euh non, mais la teneur de certains échanges dans ce forum semble indiquer qu’il n’est pas compatible.
Je vais faire un essai alors.
Répondre à ce message
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...
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 ?
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.
Bonjour tous,
Je relance ce sujet récurrent sur la compatibilité du plugin Thélia avec SPIP 3.1
Je suis en SPIP 3.0.20 [22255] + Thelia V 1.5.4.2 + plugin spip-Thelia1.5 [68537] et très content de cette solution e-commerce simple et efficace ( http://www.tigoo-miel.com )
J’ai bien compris qu’il ne fallait pas attendre un upgrade du plugin Thélia compatible SPIP3.1 ... mais quelqu’un s’est t-il déjà hasardé à tenter l’expérience, laisser le plugin en l’état et passer en SPIP 3.1 ? Avec mon niveau technique rudimentaire, je peux éventuellement envisager des adaptations à la marge, mais certainement réécrire la totalité du plugin.
Les expériences sur le sujet m’intéressent ! Merci d’avance.
Répondre à ce message
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 !
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...
Hello,
Trouvé une solution depuis ?
Merci
Salut Paulbe,
J’ai finalement opté pour laisser de côté Thelia... j’ai préféré garder une version plus récente de SPIP et d’y intégrer les modules complémentaires pour faire du e-commerce. Si tu as besoin d’aide de ce côté là, vas voir du côté du forum, le sujet :
http://forum.spip.net/fr_266806.html
Répondre à ce message
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
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
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
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)
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
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
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
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)
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |