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
bonsoir, petit souci avec le panier
http://r19079.ovh.net/~jina/spip.php?page=panier&lang=fr
quand je demande ou enleve de la quantité, il me dit que le fichier est introuvable, ça peut venir de quoi ?
J’ai exactement le même problème. Le message est fichier modifier introuvable.
Merci
http://www.coffretsforest.com/spip.php?page=panier&lang=fr
RP
Merci à Adrien sur THELIA FORUM de m’avoir donné la solution :
Il faut modifier la structure des 2 variables #PLUSURL & #MOINSURL du fichier fonctions/boucles.php de thelia (lignes 1614 & 1615 du fichier) en mettant thelia_action à la place de action.
De rien :)
Répondre à ce message
Bonjour et merci pour tout ce travail,
je viens d’installer Spip 2.1.12 avec Thélia 1.5.1 et l’Interface Thélia 1.4.3, mes squelettes sont sous Zpip, mais je ne trouvé pas les pages à mettre dans mon dossier squelette :
« Pour zpip, vous devez :
- copier le contenu du répertoire plugin-thelia/squelettes_zpip dans votre répertoire /squelettes »
Ai-je oublié quelque chose ?
Autre info ; j’ai cherché le bouton "Thélia" dans "Edition" qui est maintenant dans "Configuration" est-ce un oubli dans la doc ?
Cordialement
plus non plus de bouton thelia dans édition, c’est bizarre
Bonjour,
je crois avoir vu que le bouton Thelia est maintenant déplacé dans « Configuration » pour ne pas laisser la main aux administrateurs restreints ou rédacteurs car ce bouton « Configuration » disparait pour ces auteurs.
Pour les squelettes je cherche en vain, non ???
Merci de votre attention.
aucun bouton nul part
et réinstaller plusiieur fois le plugin
Bjr, pour avoir le bouton, il faut être webmestre, avoir installé thélia à la racine du site et le plugin thélia-spip et cliquer sur « Configuration » pour avoir le bouton du plugin Thelia au même niveau que « Contenu du site », « Interactivité », « Fonctions Avancées »
Enfin chez moi c’est comme celà.
Cordialement.
nan, tjs pas
je suis webmestre sur mon site oui
mais en plus quand le plugin est activé, il me met des erreur de mémoire et compagnie, sincerement ça fait plus d’un an que j’essaye, je pense que je vais abandonné
le message d’erreur
Fatal error : Allowed memory size of 16777216 bytes exhausted (tried to allocate 16384 bytes) in /home/jina/www/classes/parseur/Analyse.class.php on line 70
Bonjour,
pour moi c’est la taille mémoire chez ton hébergeur, si tu peux (en local c’est possible) dans le php.ini, change la ligne qui dit memory_limit et mets la à 32M
Sinon contacte les ou change !!!
bon, j’ai modifier mon php.ini, plus de souci avec la mémoire
maintenat l’essai de monter un site qui ressemble à quelque chose
merci alainF
en tout cas :
le plugin est peut etre super, mais c’est grave galere d’integrer thelia a spip sur un site deja existant
y a quasi tous les fichiers à modifier, contre contre je m’y suis peut etre mal pris !!!
enfin, c’est mon avis !!!
dans la version d’aujourd’hui squelettes_zpip/ est nommé contenu/ il suffit de déplacer ce dossier tel quel dans squelettes/
j’ai pas cru voir de réponse à la 1re question...
Répondre à ce message
ddonc j’ai modifier mon php.ini et monter ma mémoire, je n’ai plus de souci de ce coté là, j’ai fouillé un peut encore sur lo forum, et encore modifier certain fichier de spip
la mise en place est assidu, mais je m’accroche, je tente de faire une page d’acceuil pour la boutique
Répondre à ce message
Les voyelles accentuées (et la lettre qui les accompagne immédiatement) saisies lors de la création du compte par le client ne sont pas prises en compte
Bonjour,
Ma boutique Spip-Thelia (qui tournait bien depuis un an) a un gros problème dont je viens de m’apercevoir, problème introduit par une mise à jour que j’ai faite il y a un mois (Spip_2.0.10>2.1.10, Thelia_1.4.3.1>1.5.0 et Spip-Thelia_1.4>1.4.2) :
Vérification faite, je pense qu’il s’agit d’une régression car le problème se pose aussi sur le site de démo de Spip-Thelia(Spip 2.1.12, Thelia 1.5.1 et Spip-Thelia 1.4.2) : http://plugin-thelia.openstudio.fr/
De quoi s’agit-il ?
Les caractères spécifiques de la langue française saisis lors de la création d’un compte du processus de commande(1) ne sont pas pris en compte, AINSI que le caractère qui les suit immédiatement.
Par exemple la personne qui saisira « Bérangère FÉRIÈRE 14 rue de la Baïsse 93800 ÉPINAY-SUR-SEINE » deviendra pour la boutique « Bange FIE 14 rue de la Base 93800 INAY-SUR-SEINE ».
La correction de cette erreur par l’intéressé est impossible puisque la page "Modifier mes informations"(2) présente le même dysfonctionnement.
Chose intéressante, la correction de l’adresse du client fonctionne à partir du backoffice de Thelia (ce qui laisse à penser que le soucis vient du plugin Spip-Thelia), mais comme le backoffice ne permet pas la modification d’adresses des commandes, le problème reste entier pour ces dernières.
Qu’en pensez-vous ?
Une solution ?
Merci d’avance pour vos idées et bonne journée à toutes et à tous
Marc
(1) ex : à la page http://plugin-thelia.openstudio.fr/spip.php?page=connexion
(2) http://plugin-thelia.openstudio.fr/spip.php?page=compte_modifier
Bonjour Marc,
Merci pour ton aide. Je viens de modifier le plugin pour qu’il n’y ait plus par défaut d’encodage en ISO des données envoyées à Thélia puisque désormais Thélia est en UTF8.
En revanche pour la compatibilité avec les anciennes bases, on peut forcer tout de même la conversion en ISO depuis le panneau de configuration du plugin.
Arnault
Bonjour Arnault,
Super, ça (re)marche parfaitement.
Merci d’avoir fait si vite :)
Bonne journée
Marc
Répondre à ce message
J’avais un (tout petit) problème avec les blocs dépliables des « Produits associés à l’article » dans la partie privée du plugin spip-thelia [plugin 1.4.3 - SPIP 2.1.11]. Ils ne se repliaient pas. Pour ceux que cela pourrait intéresser, je vous mets les modifications que j’ai apportées et qui ont corrigé cette anomalie.
Dans le fichier spip_thelia_fonct.php (à la racine du plugin) :
- ligne 271 : ajouter $out .= debut_block_depliable (false,« produitsarticle ») ;
- ligne 365 : ajouter $out .= debut_block_depliable (false,« produitsrubrique ») ;
Et le tour est joué ! Un simple petit oubli, j’imagine, dans le portage en SPIP 2.0.
Petit bonus. Pour faire apparaitre l’icône thelia en haut et à gauche du cadre, il suffit de modifer dans le même fichier :
- ligne 270 modifier « ../ »._DIR_PLUGIN_SPIP_THELIA en _DIR_PLUGIN_SPIP_THELIA
- ligne 364 modifier « ../ »._DIR_PLUGIN_SPIP_THELIA en _DIR_PLUGIN_SPIP_THELIA
Attention, l’icone fournie par défaut dans le plugin img_pack/logo_thelia_petit.png est un peu trop grande (32x32). Je vous conseille de la tailler en 24x24 .
Et encore un grand merci pour Thelia et son plugin SPIP !
Répondre à ce message
bonjour
spip 2.1.11 et thelia 1.5.O plug thelia Version : 1.4.2 [52969]
retours d’erreur
Erreur SQL 1146
Table ’db280303273.spip_produits_articles’ doesn’t exist
SELECT * FROM spip_produits_articles LIMIT 1
/ /
2 Erreur SQL 1146
Table ’db280303273.spip_produits_rubriques’ doesn’t exist
SELECT * FROM spip_produits_rubriques LIMIT 1
/ /
3 Erreur SQL 1146
Table ’db280303273.spip_rubriquesthelia_articles’ doesn’t exist
SELECT * FROM spip_rubriquesthelia_articles LIMIT 1
/ /
4 Erreur SQL 1146
Table ’db280303273.spip_rubriquesthelia_rubriques’ doesn’t exist
SELECT * FROM spip_rubriquesthelia_rubriques LIMIT 1
il-faut créer les table ?
Pourquoi ne pas avoir utilisé la version 1.4.3 du plugin ?? Elle semble fonctionner, avec spip en version 2.1.12 et Thelia en 1.5.1.
Merci pour les évolutions de ce plugin, fort utile.
A ce propos, peut-on dire que le développement de Spip-Commerce ou Echoppe Spip est définitivement stoppé ?? C’est bien dommage car c’est toujours plus fastidieux - et plus long - de devoir utiliser deux CMS à la place d’un seul...
Répondre à ce message
Nous venons de commiter dans Thélia un renommage des fonctions chemin() et _chemin(). Ces modifications sont actuellement dans la version dev et seront intégrées à la prochaine version de Thélia 1.5.1
http://thelia.svn.sourceforge.net/v... et http://thelia.svn.sourceforge.net/v...
Ceci limitera les conflits entre les deux logiciels et évitera les étapes laborieuses de modifications de
/ecrire/inc/utils.php
et/fonctions/hierarchie.php
boujour
ces corrections sont utilisable avant l’installation de thelia ?
- >
« Directorythelia/install/patch/1.5.0.php »
quand thelia est installer faut il tous reprendre ?
merci
fabien
Répondre à ce message
Ola !
Les retours d’erreur des formulaires (par exemple THELIA-ERRCONNEX[(err_emailmdp)] dans inc-connexion.html ) n’ont pas l’air de fonctionner avec thelia 1.5 et spip 2.1.11 :(
Quand je valide le formulaire de création de compte (avec des champs laissés vides) j’arrive bien sur la page formulerr mais j’ai ceci qui s’affiche : Civilité #RAISON[obligatoire]
Quelqu’un a déjà rencontré ce problème ?
Un peu plus d’infos... On dirait que le paramètre &errform=1 n’est pas transmis dans l’url.
Après avoir examiné le site avec Firebug, une redirection est faite sur / ?fond=formulerr&errform=1 qui redirige vers ?page=formulerr
D’où pourrait bien venir ce ?fond= ??
Ce qui me rassure c’est que le problème est visible sur la démo du plugin...
J’ai trouvé comment le résoudre mais il faut modifier le coeur de THELIA (1.5) :(
Dans fonctions/action.php ligne 472 remplacer :
par :
Dans le même fichier, ligne 113 remplacer :
par :
En fait on peut régler ça avec des règles rewrite sans modifier les fichiers THELIA :)
C’est commité dans le plugin.
Répondre à ce message
Bonjour à vous tous,
je veux mettre une boutique en ligne en place et j’aimerai savoir pour le paiement en ligne ca se passe comment ? je veux dire avec les cartes bancaires. Merci de votre réponse, j’ai besoin de savoir avant de me lancer
Répondre à ce message
bonjour
test avec spip 2.1.10 et thelia 1.5 (en local mamp)
( partie public ) j’ai une page blanche avec :
Erreur de syntaxe : une ou plusieurs boucles n’ont pas été fermées : /T_rubriquesthelia
si je supprimes spip_thelia_fonct.php du plugin-thelia plus de page blanche .....
pour info
l’ erreur viens de moi
une boucle :
( j’avais oubli une ligne =)
<//T_rubriquesthelia>
mille excuses et merci pour ce plugin
tous roule fabien
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 : |