vente en ligne, ecommerce

Thélia

Pour utiliser les boucles Thélia dans vos squelettes

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 : 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(" -&gt; ", $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(" -&gt; ", $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

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

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.

Discussion

304 discussions

  • 7

    bonjour,

    j’ai un soucis avec l’envoi de mail pour confirmer l’achat et pour la visualisation du pdf,

    je m’explique : lors de l’envoi de mail il y a un envoi à l’acheteur pour lui confirmer l’achat, celui ci fonctionne parfaitement

    (Confirmation de commande C080402145245DIM du 02/04/2008 14:52

    Les articles commandés :

    Article :
    Quantité : 1
    Prix unitaire TTC : 7 EUR

    Montant total TTC : 7 EUR
    Frais de port TTC : 0 EUR
    Somme totale : 7 EUR
    ==================================)

    , en revanche celui envoyé à l’administrateur du site est de se type

    (Nouvelle commande

    __CLIENT_REF__ __CLIENT_FACTPRENOM__ __CLIENT_FACTNOM__
    __CLIENT_ADRESSE1__ __CLIENT_ADRESSE2__ __CLIENT_ADRESSE3__
    __CLIENT_CPOSTAL__ __CLIENT_VILLE__
    __CLIENT_PAYS__

    Confirmation de commande __COMMANDE_REF__ du __COMMANDE_DATE__

    Les articles commandés :

    Article : __VENTEPROD_TITRE__
    Quantité : __VENTEPROD_QUANTITE__
    Prix unitaire TTC : __VENTEPROD_PRIXU__ EUR

    Montant total TTC : __COMMANDE_TOTAL__ EUR
    Frais de port TTC : __COMMANDE_PORT__ EUR
    Somme totale : __COMMANDE_TOTALPORT__ EUR
    ==================================)

    De plus lors de la visualisation du pdf voilà ce qui m’est retourné :s

    Fatal error : Cannot instantiate non-existent class : array in /homepages/19/d147825171/htdocs/festival/client/pdf/modeles/facture.php on line 282

    • j’oubliai :D

      merci d’avance

      dim ;)

    • salut dim,

      c’est un pb dans la dernière version de thélia, il y a le correctif ici : http://forum.thelia.fr/viewtopic.ph...

      sinon pour le pb des pdf, j’avais eu aussi le pb sur menu-fretin sur les factures (pas sur les bons de livraison), et je l’avais résolu en regénérant le pdf. Mais je n’ai jamais trop su ce qui avait couincé. Sur le forum de Thélia, il en est question : http://forum.thelia.fr/viewtopic.ph... mais pas de réelle explication..

      tiens moi au courant,

      a+

    • merci arnault,

      pour le message c’était effectivement ça,

      en revanche pour le pdf, qu’est-ce que tu entends par régénéré

      merci d’avance

      dim

    • dans mon cas, le gabarit de facture (fpagecomplete1.pdf je crois ou fpagecomplete1.pdf) était un modèle personnalisé, j’ai recrée le modèle /client/pdf/doc/fpagecomplete1.pdf depuis OpenOffice. c’était un peu comme si la version précédente d’fpagecomplete1.pdf était corrompue..

    • oups ! je viens de voir que sur le site de test les factures sont aussi en erreur

      je vais regarder de plus près...

    • bonjour,

      up

      as tu trouvé le problème de la génération de pdf ?

      dim

    • Salut,

      j’ai regardé de plus près ce week end, ce n’est pas la même erreur que j’ai sur le site de démo. C’était une erreur « open_basedir restriction in effect » liée à l’installation. cf http://forum.thelia.fr/viewtopic.ph....

      si tu veux tester, connecte-toi sur le site de démo avec login=apachot@prprpr.fr et pass=apachot@prprpr.fr

    Répondre à ce message

  • 5

    Bonjour,
    J’ai des difficultés a insérer du code PHP dans une boucle Thelia au sein d’un template Spip.
    Je comprends qu’il faut définir une variable ’$parsephp=1 ;’ dans les fichiers PHP Thelia, mais je n’utilise pas ces fichiers puisque j’insère mes boucles Thelia directement dans un template SPIP.

    Un exemple qui fonctionne : J’affiche le titre d’un produit en utilisant PHP :

    < THELIA_prod type="PRODUIT" id="THELIA-PRODUIT_ID" >

    <?PHP echo("THELIA-TITRE"); ?>

    < /THELIA_prod >

    Mon titre est affiché, le code PHP est donc bien interpreté.

    Un exemple qui ne fonctionne pas : J’essai d’afficher le meme produit en majuscule :

    < THELIA_prod type="PRODUIT" id="THELIA-PRODUIT_ID" >

    <?PHP echo(strtoupper("THELIA-TITRE")); ?>

    < /THELIA_prod >

    Avec ou sans guillemets, cela ne fonctionne pas. La variable THELIA-TITRE n’est pas manipulable comme elle le serait sous SPIP.

    Il semble que l’on puisse uniquement afficher ces variables. Toute manipulation de la variable semble impossible. De la meme manière, elles sont inutilisables dans un test :

    < THELIA_prod type="PRODUIT" id="THELIA-PRODUIT_ID" >

    <?PHP 
                               if ($id_produit == "THELIA-ID"){
                       echo("TRUE");
                               }
                    ?>

    < /THELIA_prod >

    ...ou directement hors d’une boucle :

    <?PHP 
                               if ($id_produit == "THELIA-PRODUIT_ID"){
                       echo("TRUE");
                               }
    ?>

    Rien de tout cela ne fonctionne, alors que cela fonctionne parfaitement avec des variables Spip.

    Est-ce que quelqun aurait la solution a ce problème ?

    A bientot,

    Nicolas

    • bonjour,

      Pour que la variable $parsephp soit activée avec le plugin, il faudrait mettre $parsephp=1; dans plugin-thelia/spip_thelia_fonct.php sur la page souhaitée (dans le switch).

      cependant, comme le moteur de SPIP va passer avant, il va exécuter le code php avant, dans un environement SPIP et non comme tu le souhaites, dans un environnement Thélia.

      Dans ton cas, ce qui se passe c’est que spip exécute le echo(strtoupper("THELIA-TITRE")); et le transforme en THELIA-TITRE puis Thélia arrive ensuite et met à la place la valeur du titre.

      l’ordre d’exécution est :
      -  SPIP
      -  php
      -  Thélia

      il paraît difficile d’exécuter du php après Thélia, vu que SPIP est passé avant et l’a déjà exécuté. Je vais creuser un peu le pb. si certains ont des idées je suis preneur ;)

    • Merci Arnault pour ta réponse rapide.
      Tu as effectivement mis le doigt sur la source du problème.

      Je vais y réflechir de mon coté.

      Pour info j’ai développé plusieurs sites basés sur SPIP, loins d’utiliser toutes ses fonctionalités, mais tous avec des rajouts de code PHP dans les templates :

      www.lagazettedebali.info

      www.bali-tourisme.org

      www.thecomindo.eu

      www.safaribali.com

      ...et developpe actuellement mon premier site ’commerçant’ relativement simple avec le plugin Spip-Thelia.

      A bientot,

      Nicolas

    • Une idée :

      Je stocke les balises d’ouverture et fermeture de code PHP dans des variables Thelia (“

      <?PHP” et “?>

      ”)

      En l’occurence je les stocke dans des ’contenu’ Thelia, pas très pratique mais c’est tout ce que j’ai trouvé pour l’instant.

      Les 2 balises seront donc invisibles à Spip et le code PHP ne sera pas interprété avant l’appel à Thelia.

      Code dans le template :

      < THELIA_ouvrir_php type="CONTENU" id="1" >THELIA-CHAPO< /THELIA_ouvrir_php > echo(strtoupper("THELIA-TITRE",0,5)) ; < THELIA_fermer_php type="CONTENU" id="2" >THELIA-CHAPO< /THELIA_fermer_php >

      Cela a l’air de fonctionner.
      Résultat dans le code source de la page traité :

      < td >

      <? PHP echo(substr("Le Papillon",0,5)); ?>

      < /td >

      Par contre mon code PHP n’est toujours pas traité.

      Comme il s’agit d’un template Spip que j’ai moi-meme créé (inc-entete.html) et qui en plus est inclus dans un autre template (créé lui aussi), je ne vois vraiment pas ou placer ma variable $parsephp=1 ;

      Une idée ?

      Merci d’avance,

      Nicolas

    • si tu veux activer $parsephp sur toutes les pages (ce que je comprends puisque c’est dans l’entête) c’est encore plus simple, tu n’as qu’à affecter $parsephp=1 ; dans spip_thelia_fonct n’importe où avant l’appel du moteur thélia.

      ou peut-être même dans config/mes_options.php ça serait plus propre, je pense que ça devrait marcher..

      sinon pour les balises <?php et ?>, on pourrait introduire 2 nouvelles balises spécifiques, par exemple PHP-DEBUT et PHP-FIN et faire dans le plugin une substitution vers <?php et ?> juste avant d’appeler le moteur Thélia ... ?

      je vois que tu as beaucoup de réalisations de site indonésiens, tu y habites ? pour le paiement du nouveau site, vérifie bien la compatibilité du système bancaire avec Thélia si c’est via une banque étrangère.

    • Oui effectivement l’introduction de 2 balises PHP-DEBUT et PHP-FIN serait bienvenue.

      Par contre mon code PHP n’est toujours pas interprété. J’ai inseré la variable $parsephp a peu près partout sans succès (mes_options.php ; spip_thelia_fonct.php ; spip.php...).

      Quelque-chose m’échappe, et je pense que je n’ai pas été assez clair :

      Ma boucle Thelia se trouve dans un template Spip, dans le répertoire squelettes/ de Spip.
      Il n’y a donc pas de fichier .php correspondant.
      L’appel se fait par l’url classique Spip : spip.php ?page=inc-entete

      Ma boucle Thelia fonctionne correctement.
      Simplement le code PHP qui s’y trouve n’est pas interprété.

      Un indice ?


      Pour répondre à ta question, oui je vis en Indonésie. Comme j’utilise Paypal pour le paiement, je pense que cela ne devrait pas poser de problème.

      Merci pour ta réactivité et ton aide précieuse !

      Nicolas

    Répondre à ce message

  • 4

    Bonjour,

    Je suis en train de développer un site pour une association « les framboiziks », avec spip et thélia.

    j’ai donc une partie boutique et une partie forum, pour le forum j’ai fais le principe de réponse à un article et est obligé l’inscription pour y accéder (pour cela j’ai repris la balise thelia )

    A présent je voudrai faire en sorte que le nom de la personne qui à écrit un commentaire soit récupéré grace à l’identification sur thélia (au lieur que se soit le nom optionnel sur le formulaire classique de forum)

    Je pensait avoir trouvé la solution en utilisant les balises : THELIA-CLIENT_PRENOM THELIA-CLIENT_NOM, cependant cela remplace chaque nom de chaque post par celui de la personne connecté au moment de la lecture :( , moi je voudrais conservé le nom de celui qui à écrit le post ..

    quelqu’un aurait-il une idée ?

    merci d’avance

    dim

    • je m’excuse par avance des fautes d’orthographes (j’ai écris vite et mal :s)

    • Salut,

      si j’ai bien compris, il faudrait pré-remplir le formulaire de forum avec le nom du client thélia. c’est ça ?

      si c’est ce que tu veux faire, tu pourrais modifier /formulaires/forum.html et remplacer ligne 61 : (en fait, il faut en faire une copie dans squelettes/formulaires/forum.html puis le modifier...)

      -  value="[(#SESSION{nom}|sinon{<:visiteur:>})]"

      par

      -  value="THELIA-CLIENT_PRENOM"

      qu’en penses-tu ?

    • Bonjour,

      Merci de ta réponse, c’est nickel ça marche !!! :D

      il ne me reste plus qu’à trouver une astuce pour que le champ du formulaire ne s’affiche pas à l’écran ( pour ne pas que l’utilisateur puisse le modifié)..

      merci beaucoup

      dim

    • pour cacher le champ :
      -  tu peux simplement mettre type="hidden" sur l’input,
      -  ou encore ligne 58 remplacer <fieldset>

      par <fieldset style="display: none;">

      a+

    Répondre à ce message

  • 3
    HENRY Raphael

    Bonjour à tous et encore bravo pour ce plugin qui fonctionne a merveille, j’ai cependant une question a vous poser,
    Je travail sur le site d’une association dont je suis vice président et je met en place une billetterie pour des concerts.
    Tous le process de vente en ligne se passe bien (paypal, cb, chèque)
    Lors de la validation du paiement par chèque si je rafraîchit la page j’ai la liste de toutes les commandes passées sur le site.
    Ai-je fait une erreur dans mon code ? oublier un paramètre y ’a t’il un bug ?

    vous pouvez faire des tests a cette adresse la boutique ne sera en prod que dans deux semaines.

    merci de votre aide et encore bravo

    http://www.heures-musicales.org

    • Salut,

      Merci pour tes commentaires. Tiens, on pourrait commencer à lister les sites qui tournent avec le plugin..

      Concernant le pb d’actualisation de la page avec affichage de toutes les commandes, ça semble lié aux paiement de type chèque et virement. Je te renvoie vers le forum Thélia où le problème est traité : http://forum.thelia.fr/viewtopic.ph... et http://forum.thelia.fr/viewtopic.ph... .

      Si tu veux changer la variable $reset=1; par $reset=0; comme indiqué dans le forum, avec le plugin thélia ça se passe dans spip_thelia_fonct.php (dans le switch ligne 46).

      a+
      Arnault

    • Henry Raphael

      j’ai modifié cette variable, c’est ok ca marche !

      ce plugin est une benediction, spip et thelia fonctionnent tres bien !
      j’avait trouvé le lien pour modifier la variable , mais dans thelia c’etait le fichier cheque.php a modifier.

      merci pour ce coup de main, tu aimes le flamenco, le gospel ou le classique ?

    • mais de rien ;)

      ton site est un bon exemple d’intégration des deux logiciels, on le référencera sur l’article

      a+

      ps : sinon moi je préfère le flamenco ;).. d’ailleurs pour les guitariste j’avais développé il y a quelques temps : un petit accordeur de guitare en ligne

    Répondre à ce message

  • 6
    jean-jacques

    Bonjour,

    tout d’abord : Merci et bravo !
    J’ai suivi à la lettre la procédure d’installation et tout semble fonctionner nickel.
    Je connais très bien SPIP et pas du tout Thélia.
    J’ai donc un peu de travail avant de rendre un avis plus éclairé.
    Je m’y met de ce pas ...
    Cordialement

    • merci pour tes commentaires, tiens nous au courant !
      a+

    • jean-jacques

      Re !

      Les premiers soucis arrivent ! :-) :
      Les fichiers contenus dans template sont cherchés à la racine. Je les ai donc recopiés. Peut être n’aurais je pas du ? ( ajouter une variable dans mes_fonctions.php pour ajouter le chemin ?? )

      Ensuite, après cette page spip.php ?page=adresse, lorsque je clique sur « Continuer », il lance commande.php et j’ai le message suivant :
      Redirection de page incorrecte
      Firefox a détecté que le serveur redirige la demande pour cette adresse d’une manière qui n’aboutira pas.
      La cause de ce problème peut être la désactivation ou le refus des cookies.

      Evidemment, les cookies sont bien acceptés (edition, préférences, vie privée)

      Quelle c....nnerie ai je faite encore ??? :-)
      Merci d’avance

    • ah ok ;)

      il ne faut pas utiliser les fichiers du répertoire /template.

      effectivement le moteur de Thélia va chercher certains fichiers à la racine du site. Pour que le fonctionnement soit correct, il y a deux possibilités :
      -  utiliser le fichier htaccess fourni avec le plugin (/plugin-thelia/htaccess.plugin_thelia.txt) et le renommer .htaccess à la racine du site.
      -  ou copier l’intégralité de /plugin-thelia/pb_htaccess à la racine (le plus simple).

      dans les deux cas, l’effet sera de transformer le /commande.php en spip.php?page=commande...

      pour vérifier si ca fonctionne, tester en saisissant /panier.php, l’adresse doit être transformée en /spip.php?page=panier et doit afficher la page panier.

      a+

    • Jean-Jacques

      Merci !
      Cela va beaucoup mieux ainsi, mais :
      -  J’ai une machine dédié chez OVH
      -  J’ai créé un hebergement bidon pour ce test : nsXXXXX.ovh.net/thelia/ (il y a un tilde juste avant thelia)

      Tout fonctionne comme indiqué, mais au moment de choisir le mode de paiement, il me supprime une partie de l’url : par exemple
      -  il met ça : nsXXXXX.ovh.net/cheque.php
      -  au lieu de : nsXXXXX.ovh.net/thelia/cheque.php
      et evidemment, j’ai une jolie erreur 404
      Je sais que je commence à abuser, désolé :-) !!

    • ce problème est spécifique au paiement par chèque.

      il faut modifier le fichier de thélia correspondant /client/plugin/cheque/Cheque.class.php

      remplacer :

      header("Location: http://" . $_SERVER['HTTP_HOST'] . "/spip.php?page=cheque");

      par

      header("Location: http://" . $_SERVER['HTTP_HOST'] . "/thelia/spip.php?page=cheque");

      maintenant ça devrait rouler ;)

    • Jean-Jacques

      Merci encore pour ton aide et ta patience !

      De toute façon ce problème ne devrait pas se présenter avec un « vrai » nom de domaine.
      Sinon, il doit bien y avoir un moyen de faire comme dans spip avec #URL_SITE_SPIP.
      Je vais me débrouiller.
      Cordialement.

    Répondre à ce message

  • 5

    Bonjour
    Je suis très intéressé par ce plugin mais je sais pas par quel bout le prendre. Avant de me lancer je viens à la pêche aux infos.
    Je m’essaye depuis Janvier aux boucles spip en local (pas d’hébergeur encore)

    Le site que je prépare il y a
    -  du contenu publié, c’est le boulot de spip et ce à quoi j’arrive me convient, je l’ai organisé en 3 langues via 3 arborescences parallèles.
    -  un catalogue de T-shirts (que je dessine) qui constitue une sous rubrique spéciale (+ 2 équivalents qui en sont la traduction) j’ai déjà créé des articles pour ça, ainsi que leur traduction.


    Est-ce que je dois comprendre qu’avec le plugin thelia je devrai renseigner les infos sur mes T-shirts dans une autre base de données ?

    Est-ce qu’avec thelia je pourrai traduire le descriptif des produits (au pire avec des blocs <multi>) en gros ça veut dire quoi « administration multilangue », ça s’applique à la partie publique ?

    Enfin et surtout (en supposant que je sois pas à côté de la plaque) est-ce que je peux apeller ces mêmes articles depuis n’importe laquelle des 3 « boutique »de mes 3 arborescences spip ? Et dans ce cas là, afficher le descriptif dans la langue voulue ?

    Merci à ceux qui pourront me renseigner.

    • Bonjour,

      plusieurs approches sont possibles. Dans ton cas, vu que le site est terminé et contient si je comprend bien 3 articles par tshirt (un dans chaque langue), le plus simple est d’utiliser le modèle <produit>.

      Dans ce cas, thélia sera utilisé pour stocker la référence, le prix et le poids des produits, et les titres et descriptions restent dans SPIP, donc restent multilingues. Il n’est pas utile de dupliquer les produits dans thélia par langue. tu as 1 produit par tshirt.

      Dans l’ordre, voici comment je procéderai :
      -  installation de Thélia et vérification que l’install marche (accès à l’admin)
      -  installation du plugin thélia, puis paramétrage avec cfg de la version de Thélia installée
      -  coté Thélia : création des produits : 1 produit par tshirt. renseigner uniquement référence, poids et prix.
      -  coté SPIP : modification des articles des tshirts, ajout de <produit|ref=XXX|right> dans le texte des articles avec XXX la référence du produit à afficher. celà aura pour effet d’ajouter dans l’article un lien « ajouter au panier »
      -  personnalisation des squelettes de vente en ligne livrés avec le plugin (panier.html, commande, ...) au look du site.

      a+

    • Merci pour la réponse si rapide. Je suis pas sur ma machine je vais essayer ce soir.

      Je commençais à me faire peur mais tu me rassures. J’exclus pas d’avoir besoin d’une aide pas à pas pour ajouter les infos qui vont bien. à titre d’exemple, je vois déjà 2 pinaillages :

      -  Comment préciser des options de taille ou de couleur ?
      -  Est-ce qu’il existe une boucle qui permettrait de récupérer des infos dans la fiche produit de thélia, pour l’afficher dans la vignette annonçant l’article, dans un squelette de rubrique (surtout le prix en fait)

      Si on peut faire ça c’est nickel, sinon on va bien y arriver !

    • Dans Thélia tout ceci est géré par ce qui se nomme « les déclinaisons » dans l’espace d’administration du logiciel. Voir l’exemple sur le site de test avec les tailles des tshirts.

      Il existe donc des boules spécifiques thélia pour aller chercher ces informations. Pour l’instant l’affichage des déclinaisons n’est pas encore inclus dans le modèle <produit>, je vais les ajouter pour que le modèle soit tout à fait complet.

      a+

    • Bon ben ça me paraît tout à fait correspondre à ce que je cherche, encore quelques nuits/cafetières et le projet aura vu le jour en moins de 6 mois, J’ai hâte de m’y coller !

      J’imagine déjà qu’il faudra écrire un autre modèle du genre <produit-prix|XX> avec la boucle prix pour l’afficher dans les vignettes de spip. En partant d’un modèle complet, ça doit-être à ma portée. Je te fais parvenir ce que j’arrive à faire.

      J’utilise spip 1.9.2d, sans fichier .htaccess (mon Easyphp en veut pas ; free va me faire cager, Debian ... je sais pas), y’a pas de contre-indications j’espère ?

      encore merci !

    • au fait, le prix est déjà renvoyé par le modèle produit, voir l’exemple sur le site de test : http://plugin-thelia.openstudio.fr/.... avec si c’est une promotion, l’affichage des deux prix : promotionné et normal. également la gestion du produit en cours de réapprovisionnement si il y a lieu.

      a+

      ps : et depuis cet après midi, la gestion des déclinaisons aussi.

    Répondre à ce message

  • 4

    Bonjour,

    j’ai installé le plugin thelia sur mon site spip, mais j’ai un warning qui s’affiche :

    Fatal error : Call to undefined function : unicode2charset() in /homepages/19/d147825171/htdocs/framboiziks/plugins/plugin-thelia/spip_thelia_fonct.php on line 78

    si je me connecte à spip en tant qu’admin, j’ai accès au site sans soucis tout fonctionne,
    mais si je ne m’identifie pas je n’ai pas accès au site.

    je cherche de l’aide

    merci d’avance

    • Arnault

      salut,

      c’est bizarre ce bug... je sèche un peu :
      -  le fichier ecrire/inc/charsets.php est accessible ? tape http://<nom de ton site>/ecrire/inc/charsets.php, normalement tu devrais avoir une page blanche.
      -  le fichier existe, et la fonction y est bien dedans ?

      tu as un lien que je regarde ? quelle est ta version de spip ?

      quand tu dis en admin ça passe, tu veux dire que le site public s’affiche correctement (avec les produits thélia) ou uniquement l’espace privé ?

      ++

      ps : pour débloquer le pb tu peux mettre en commentaire provisoirement la ligne 78 et remplacer la ligne 98 par return $texte ; (dans spip_thelia_fonct)

    • bonjour,

      alors oui pour la premiere et oui pour la deuxieme.
      le fichier existe oui.

      le lien est : www.shinoo.info/framboiziks

      c’est un site que je suis en train de faire pour un festival (sujet de fin d’année webmestre)

      derniere version de spip et derniere version de thelia

      si tu as une solution ...

      ++

    • Arnault

      ok ;)

      j’ai trouvé, une coquille dans le dernier commit... dans spip_thelia_fonct.php, remplacer :
      include_spip('inc/charset');

      par
      include_spip('inc/charsets');

      ce fichier était inclus correctement par d’autres plugins, et du coup je n’avais pas le message d’erreur.

      j’ai mis à jour le plugin.

      tiens moi au courant,

    • bonjour,

      ouiiiiiiiiiiiiiiiiiiiiiii, merci.

      c’était effectivement ça le problème.

      tout fonctionne !!!

      merci a+

       ;-)

    Répondre à ce message

  • 3

    Bonsoir

    j’étais sous spip 1.9.2.c, et j’avais installé le plugin thelia.

    J’ai voulu le mettre a jour et aussi installer le plugin cfg comme il est conseillé.

    J’ai peut etre fais une erreur, mais j’ai carrément remplacé par FTP le fichier plugin thélia par le plus récent(sans desactiver le plugin dans l’interface d’admin)
    Le probleme c’est que je n’ai dans l’interface privée "gestion des plugin, qu’une page blanche avec deux boutons valider ??!
    Entre temps j’ai upgradé spip en .d mais j’ai toujours la même page...
    est ce que quelqu’un a le même probleme ?
    Merci de votre aide...

    sarah

    • en principe ce problème survient lorsque le répertoire plugins est vide où que les répertoires des plugins ne contiennent pas de fichier plugin.xml.

      tu es sûr que ce n’est pas le cas ? les répertoires des plugins sont complets ? contiennent-ils le fichier plugin.xml ?

      envoie nous un lien pour qu’on regarde ..

      a+

    • Bonnjour
      merci de ta réponse.
      En fait ce matin, j’ai pris les devants, j’ai vidé completement le dossier plug in a nouveau et j’ai tout retéléchargé et là, miracle , ma fenêtre d’admin des plugins s’affiche correctement !
      Bizarre, mais bon ca marche !

      J’en profite pour demander une précision, hier il y avait sur le site de téléchargement deux fichiers pour la contrib, j’ai pris le plus récent et le plus lourd, peux tu nous dire de quoi il s’agit ?

    • plugin-Thelia0.2.zip est une ancienne version compatible avec Thélia <1.3, mais elle est obsolète, du coup j’ai supprimé le zip pour pas qu’il y ait confusion.

      merci

    Répondre à ce message

  • 3

    Merci à Arnault pour m’avoir débloqué !

    Je suis en train d’adapter le plugin alternatives (avec un theme perso) au plugin thelia.
    Je mettrais les infos pratiques sur cette page pour ceux que cela interesse, juste besoin de quelques jours pour finaliser...

    @bientot

    • Voila, apres maintes et maintes bidouillages digne d’un « pas pro en informatique » (mais interessé !). J’ai finalement reussi a adapter en partie le squelette alternative perso (BGVS) a thelia en :

      -  ajoutant les elements de ma page sommaire.html (squel) dans la page « rubrique_thelia.html »
      -  précisant les placements, typo...du fichier perso.css (du squel alternatives perso BGVS) + habillages.css (layout) + base.css (style alternative general) dans le fichier « habillage.css » du plugin thelia.

      Sans doute y avait t’il un moyen beaucoup plus simple mais c’est ce que j’ai trouvé.

      Il reste encore a customiser les autres squelettes de thelia (panier, adresse...) et le tour est joué.

      Si quelqu’un connait une autre méthode...

      Par contre, je n’ai pas encore reussi a afficher les produits autrement que les uns sous les autres, sans doute un élément a changer dans le css mais as encore trouvé...

      Si ça peut servir a quelqu’un...
      site exemple

    • Salut Chriscor,

      excellente initiative, n’hésites pas à demander un accès sur la liste spip_zone si tu veux développer sur la zone cette adaptation pour alternative.

      a+

    • J’ai deja cet acces...je vais prendre le temps de contribuer comme je le pourrais.

      @bientot !

    Répondre à ce message

  • 1

    Bonjour,

    Je rencontre un ptit soucis quand j’active les url propres de spip j’ai un retour d’erreur d’un php du plugin thelia. Est ce normal ? y a t’il une solution a part tout se retaper à la main dans le htaccess ?

    Merci d’avance

    • bonjour,

      Je viens de mettre en place les url propres (de spip) sur le site de test, je n’ai pas de problème.

      Peux-tu nous donner quelques infos supplémentaires ?

      en revanche, j’ai vu dans les logs que j’avais des warnings : divers.php n’était pas trouvé dans fonctions/boucles.php Cette erreur n’est pas liée aux url propres, pour régler le problème, il suffit de remplacer dans boucles.php
      -  include_once("divers.php");

      par

      -  include_once("fonctions/divers.php"); (cf http://forum.thelia.fr/viewtopic.ph...)

      a+

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom