thelia-documentation technique


thelia-documentation technique

 

Documentation Thelia 1.0 yoan@octolys.fr Table des matières introduction...........................................................................................................................................5 Les squelettes et options.......................................................................................................................5 Les substitutions simples......................................................................................................................7 Substitutions globales......................................................................................................................7 Substitutions « variables »...............................................................................................................7 Substitutions « panier »....................................................................................................................8 Substitutions « produits »................................................................................................................8 Substitutions « rubrique »................................................................................................................8 Substitutions « message »................................................................................................................8 Substitutions « commande »............................................................................................................9 Substitutions « adresse »..................................................................................................................9 Substitutions « client ».....................................................................................................................9 Substitutions « caractéristique »....................................................................................................10 Substitutions « image »..................................................................................................................10 Substitutions «dossier»..................................................................................................................10 Substitutions «contenu».................................................................................................................10 Les boucles.........................................................................................................................................11 Boucles simples.............................................................................................................................11 La boucle RUBRIQUE..............................................................................................................11 Param entrée.........................................................................................................................11 Param sortie..........................................................................................................................12 La boucle DOSSIER.................................................................................................................12 Param entrée.........................................................................................................................12 Param sortie..........................................................................................................................12 La boucle IMAGE ..................................................................................................................13 Param entrée.........................................................................................................................13 Param sortie..........................................................................................................................13 La boucle DEVISE....................................................................................................................15 Param entrée.........................................................................................................................15 Param sortie..........................................................................................................................15 La boucle DOCUMENT...........................................................................................................15 Param entrée.........................................................................................................................15 Param sortie..........................................................................................................................15 La boucle ACCESSOIRE..........................................................................................................16 Param entrée.........................................................................................................................16 Param sortie..........................................................................................................................16 La boucle PRODUIT................................................................................................................17 Param entrée.........................................................................................................................17 Param sortie..........................................................................................................................17 La boucle PAGE........................................................................................................................18 Param entrée.........................................................................................................................18 Param sortie..........................................................................................................................19 La boucle PANIER....................................................................................................................21 Param entrée.........................................................................................................................21 Param sortie..........................................................................................................................21 La boucle QUANTITE..............................................................................................................22 Param entrée.........................................................................................................................22 Param sortie..........................................................................................................................22 La boucle CHEMIN..................................................................................................................22 Param entrée.........................................................................................................................22 yoan@octolys.fr Param sortie..........................................................................................................................22 La boucle PAIEMENT..............................................................................................................22 Param entrée.........................................................................................................................22 Param sortie..........................................................................................................................22 La boucle PAYS .......................................................................................................................23 Param entrée.........................................................................................................................23 Param sortie..........................................................................................................................23 La boucle CARACTERISTIQUE.............................................................................................23 Param entrée.........................................................................................................................23 Param sortie..........................................................................................................................23 La boucle CARACDISP...........................................................................................................24 Param entrée.........................................................................................................................24 Param sortie..........................................................................................................................24 La boucle CARACVAL............................................................................................................24 Param entrée.........................................................................................................................24 Param sortie..........................................................................................................................24 La boucle ADRESSE................................................................................................................24 Param entrée.........................................................................................................................24 Param sortie..........................................................................................................................24 La boucle COMMANDE..........................................................................................................26 Param entrée.........................................................................................................................26 Param sortie..........................................................................................................................26 La boucle VENTPROD.............................................................................................................26 Param entrée.........................................................................................................................26 Param sortie..........................................................................................................................26 La boucle CLIENT....................................................................................................................28 Param entrée.........................................................................................................................28 Param sortie..........................................................................................................................28 La boucle TRANSPORT...........................................................................................................29 Param entrée.........................................................................................................................29 Param sortie..........................................................................................................................29 La boucle RSS...........................................................................................................................29 Param entrée.........................................................................................................................29 Param sortie..........................................................................................................................29 La boucle CONTENU...............................................................................................................29 Param entrée.........................................................................................................................29 Param sortie..........................................................................................................................30 La boucle DECLINAISON.......................................................................................................30 Param entrée.........................................................................................................................30 Param sortie..........................................................................................................................31 La boucle DECLIDISP.............................................................................................................31 Param entrée.........................................................................................................................31 Param sortie..........................................................................................................................31 La boucle STOCK.....................................................................................................................31 Param entrée.........................................................................................................................31 Param sortie..........................................................................................................................31 La boucle DECVAL..................................................................................................................32 Param entrée.........................................................................................................................32 Param sortie..........................................................................................................................32 Les boucles conditionnelles...........................................................................................................33 Connecte ou non connecté..................................................................................................................34 Les formulaires...................................................................................................................................35 yoan@octolys.fr Nouveau compte............................................................................................................................35 Identification..................................................................................................................................36 Panier.............................................................................................................................................37 Erreur.............................................................................................................................................38 Conclusion..........................................................................................................................................41 yoan@octolys.fr introduction Thelia est une application destinée à la création de sites de commerce électronique. Il permet de gérer facilement la partie frontend et backend d'un tel site. Le backend est une interface d'admininstration simple et intuitive. La particularité de Thelia se situe au niveau de frontend. Le moteur permet à l'aide d'un langage de programmation simplifié le développement complet du site Internet. Il est donc possible de travailler sur la base de n'importe quelle charte graphique et offre la possibilité d'utiliser un éditeur HTML classique. Les squelettes et options Chaque page est définie une page PHP et un squelette associé. Le squelette correspond à la trame de la page. C'est une fichier HTML qui contiendra tous les éléments de page. Le fichier php défini le squelette utilisé ainsi que différentes options possibles. Chaque page aura donc un couple de page php/html. C'est la page PHP qui sera appelée. Le moteur analysera ensuite le squelette et affichera la page générée. Fichier PHP : <? // Squelette $fond="commande.html"; // options $securise=1; $pageret=1; $transport=1; $formulaire=1; $obligetelfixe=1; $obligetelport=1; $pagesess=1; $panier=1; // appel du moteur include("fonctions/moteur.php"); ?> Les options ( securise, pageret, transport, formulaire ) sont optionnelles et il est possible de les combiner à votre guise. Elles auront pour valeur 0 ( desactivée ) ou 1 ( activée ). Une option non yoan@octolys.fr présente sera désactivée par défaut. $securise : le client doit être indentifié pour accéder à cette page. S'il ne l'est pas il est automatiquement redirigé sur la page connexion.php $pageret : la page peut être une page de retour. Lors d'un login par ex, le client est renvoyé sur la dernière page retour après identification. $transport : le client doit avoir choisi son moyen de transport pour accéder à cette page $formulaire : la page est un formulaire qui devra être correctement rempli. Si ce n'est pas le cas, le client sera renvoyé sur la page formulerr.php $obligetelfixe : dans le cas d'un formulaire d'inscription, rend obligatoire le tél fixe. $obligetelport : dans le cas d'un formulaire d'inscription, rend obligatoire le tél portable. $pagesess : sauvegarde le numéro de la page en cours en session. Ce numéro sera utilisé dans la boucle produit suivante. $panier : interdir l'accés à une page si le panier est vide Le fichier HTML, quand à lui, constitue la page WEB de manière habituelle ( Tags ) et pourra contenir des balises spécifiques à Thelia ( boucles ) ainsi que des mots clés eux aussi appartenant à Thelia. Nous les définirons plus loin dans ce document. yoan@octolys.fr Les substitutions simples Différents mots clés permettent une substitution automatique quelque soit l'endroit où nous sommes dans le squelette. Chacun de ces mots commencent par un #. Voici tout d'abord une liste de substitutions globales. Substitutions globales #URLPREC : retourne la page précédente #URLPAGERET : retourne la dernière page contenant l'attribut pageret ( page de retour ) #URLPANIER : retourne la page panier par défaut ( panier.php ) #URLCOMMANDER : retourne la page commande par défaut ( commande.php ) #URLNOUVEAU : retourne la page nouveau client par défaut ( nouveau.php ); #URLDECONNEXION : retourne la page de déconnexion par défaut ( index.php?action=deconnexion ) #URLRECHERCHE : retourne la page de recherche par défaut ( recherche.php ) #URLCOURANTE : retourne la page courante #URLCOURANTEPARAM : retourne les paramètres de la page courante #URLADRESSE : retourne la page d'adresse par défaut ( adresse.php ) #URLPAIEMENT : retourne la page de paiement par défaut ( paiement.php ) #URLSOMMAIRE : retourne la page sommaire par défaut ( index.php ) #URLCOMPTE : retourne la page compte par défaut ( compte.php ) #LANG : retourne la langue en cours Substitutions « variables » Thelia permet la gestion de variables en base de donnée. Il est possible par exemple de stocker une variable urlsite ayant pour valeur « http://www.monsite.com » Ce système permet d'afficher celle-ci où l'on souhaite et de pouvoir la modifier de manière centralisée. Pour rappeler la variable urlsite : #VARIABLE(urlsite) yoan@octolys.fr Substitutions « panier » #PANIER_TOTAL : retourne la valeur totale du panier ( sans frais de port ) #PANIER_PORT : retourne la valeur des frais de port #PANIER_TOTPORT : retourne la valeur totale du panier ( frais de port compris ) #PANIER_REMISE : retourne la remise #PANIER_NBART : nombre d'article du panier Substitutions « produits » #PRODUIT_REFORIG : retourne l'attribut reforig passé en paramètre d'url celui-ci est utilisé lorsque l'on veut connaître la référence du produit ayant conduit à une page donnée. ( page accessoire par ex ) #PRODUIT_REF : retourne l'attribut ref passé en paramètre d'url. On l'utilise généralement pour appeler la page produit en spécifiant le produit à afficher. #PRODUIT_ID : retourne l'attribut id_produit passé en paramètre d'url. On l'utilise généralement pour appeler la page produit en spécifiant le produit à afficher. #PRODUIT_MOTCLE : retourne l'attribut motcle passé en paramètre d'url. On l'utilise généralement pour appeler la page recherche en spécifiant un mot clé. #PRODUIT_NOM : retourne le titre du produit. #PRODUIT_RUBRIQUE : rubrique du produit en cours #PRODUIT_CLASSEMENT : choix du classement #PRODUIT_PRIXMIN : prix minimum #PRODUIT_PRIXMAX : prix maximum Substitutions « rubrique » #RUBRIQUE_CHAPO : retourne le chapo de la rubrique en cours #RUBRIQUE_ID : retourne l'id de la rubrique en cours #RUBRIQUE_NOM : retourne le titre de la rubrique en cours #RUBRIQUE_PARENT : retourne la rubrique parente de la rubrique en cours #RUBRIQUE_REWRITEURL : url réécrite de la rubrique en cours Substitutions « message » Les messages fonctionnes de la même manière que les variables si ce n'est qu'ils peuvent être en plusieurs langues et qu'ils peuvent avoir un titre, un chapo et une description. Ce ne sont donc pas des variables classiques mais du contenu ( message d'avertissements, d'erreurs, ... ) #MESSAGE_TITRE(idmessage) : retourne le titre du message idmessage yoan@octolys.fr #MESSAGE_CHAPO(idmessage) : retourne le chapo du message idmessage "#MESSAGE_DESCRIPTION(idmessage) : retourne la description du message idmessage Substitutions « commande » #COMMANDE_ID : retourne l'id de la commande passée en paramètre ( la référence est passée via l'url par l'attribut commande ) ou le cas échéant de ma commande en cours #COMMANDE_REF : : retourne la référence de la commande passée en paramètre ou le cas échéant de ma commande en cours #COMMANDE_TRANSACTION : retourne l'identifiant de transaction de la commande. Substitutions « adresse » #ADRESSE_ID : retourne l'id de l'adresse passée en paramètre d'url ( attribut adresse ) #ADRESSE_ACTIVE : retourne l'id de l'adresse active Substitutions « client » #CLIENT_RAISON1F : retourne « selected » si la raison sociale est « madame » #CLIENT_RAISON2F : retourne « selected » si la raison sociale est «mademoiselle» #CLIENT_RAISON3F : retourne « selected » si la raison sociale est «monsieur» #CLIENT_ID : retourne l'id du client en cours #CLIENT_REF : retourne la référence client en cours #CLIENT_RAISON : retourne la raison sociale du client en cours #CLIENT_ENTREPRISE : retourne l'entreprise du client en cours #CLIENT_NOM : retourne le nom du client en cours #CLIENT_PRENOM : retourne le prénom du client en cours #CLIENT_ADRESSE1 : retourne l'adresse du client en cours #CLIENT_ADRESSE2 : retourne la 2ème ligne de l'adresse du client en cours #CLIENT_ADRESSE3 : retourne le complément d'adresse du client en cours #CLIENT_CPOSTAL : retourne le code postal du client en cours #CLIENT_VILLE : retourne la ville du client en cours #CLIENT_IDPAYS : retourne l'id du pays du client en cours #CLIENT_PAYS : retourne le titre du pays du client en cours #CLIENT_EMAIL : retourne l'adresse E-Mail du client en cours #CLIENT_TELFIXE : retourne le numéro de téléphone fixe du client en cours #CLIENT_TELPORT : retourne le numéro de téléphone portable du client en cours yoan@octolys.fr Substitutions « caractéristique » #CARACTERISTIQUE_ID : retourne l'id de la caractéristique passée en paramètre de l'url ( caracteristique ) #CARACTERISTIQUE_DISP : retourne la valeur de la caractéristique demandée en paramètre ( caracdisp ) #CARACTERISTIQUE_VAL : retourne la valeur libre de la caractéristique demandée en paramètre ( caracval ) Substitutions « image » #IMAGE_ID : retourne l'id de l'image passée en paramètre ( id_image ) Substitutions «dossier» #DOSSIER_ID : retourne l'id du dossier #DOSSIER_CHAPO : retourne le chapo du dossier #DOSSIER_NOM : retourne le titre du dossier #DOSSIER_PARENT : retourne le parent du dossier Substitutions «contenu» #CONTENU_ID : retourne l'id du contenu #CONTENU_MOTCLE : retourne le mot clé passé en paramètre ( motcle ) #CONTENU_NOM : retourne le titre du contenu yoan@octolys.fr Les boucles Il est maintenant grand temps de parler des boucles. Les habitués de SPIP ne seront pas dépaysés puisque que Thelia utilise une syntaxe proche. Rappelons tout d'abord brièvement le principe des boucles. Prenons un cas simple. Sur un site de commerce en ligne, il est nécessaire d'afficher la liste des produits. Le plus propre étant d'utiliser des listes « ul », « li » etc ... Nous rappelerons donc la base <li> autant de fois qu'il y a de produits. Il faut donc « faire une boucle ». Les boucles Thelia vont tout simplement répéter une portion de code autant de fois que nécessaire. Une boucle est bien sûr paramétrable et elle est capable de retourner différentes informations. Il peut peut être aussi très intéressant de disposer de boucle conditionnelles permettant d'afficher autre chose si par exemple aucun résultat n'est possible. Thelia est capable de gérer ce type de boucle. Boucles simples Une boucle est déterminée ainsi : <THELIA_nomboucle type=?TYPE_DE_BOUCLE? arg1=?val1? arg2=?val2? arg3=?val3?> </THELIA_nomboucle> Cette syntaxe proche du HTML est très stricte. Chaque boucle doit avoir un nom différent et chaque boucle ouverte doit obligatoirement être fermée. Le TYPE_DE_BOUCLE est obligatoire. Nous allons passer en revue chaque type de boucle Voici un exemple de boucle affichant le titre des rubriques de 1er niveau: <THELIA_rub parent=?0?> #TITRE </THELIA_rub> Attention : Thelia est sensible à la casse ! La boucle RUBRIQUE Param entrée id : choisir l'id de la rubrique à afficher parent : choisir le parent des rubriques à afficher boutique : choisir la boutique des rubriques à afficher yoan@octolys.fr courante : 1 si rubrique courante, 0 sinon pasvide : 1 si non vide, 0 sinon ligne : 0, 1 afficher ou non les rubriques hors ligne aleatoire : 0 ou 1 ( aléatoire ) classement : classement des rubriques (alpha, alphainv) exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #TITRE : titre de la rubrique #STRIPTITRE : titre de la rubrique sans les tags HTML #CHAPO : chapo de la rubrique #STRIPCHAPO : chapo de la rubrique sans les tags HTML #DESCRIPTION : description de la rubrique #PARENT : parent de la rubrique #ID : id de la rubrique #URL : url de la rubrique #REWRITEURL : url réécrite de la rubrique #LIEN : lien de la rubrique #COMPT : compteur permettant de créer des menus poussés #NBRES : nombre de résultats #NBENFANT : nombre de rubriques enfants La boucle DOSSIER Param entrée id : choisir l'id du dossier à afficher parent : choisir le parent des dossiers à afficher boutique : choisir la boutique des dossiers à afficher courant : 1 si dossier courant, 0 sinon ligne : 0, 1 afficher ou non les rubriques hors ligne exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #TITRE : titre du dossier #STRIPTITRE : titre du dossier sans les tags HTML #CHAPO : chapo du dossier yoan@octolys.fr #STRIPCHAPO : chapo du dossier sans les tags HTML #DESCRIPTION : description du dossier #PARENT : parent du dossier #ID : id du dossier #URL : url du dossier #REWRITEURL : url réécrite du dossier #LIEN : lien du dossier #COMPT : compteur permettant de créer des menus poussés #NBRES : nombre de résultats #NBENFANT : nombre de dossiers enfants La boucle IMAGE Param entrée produit : id du produit ( dans le cas où l'on veut les images associées à un produit ) id : id de l'image à afficher num : nombre d'image à afficher nb : numéro de l'image à afficher debut : première image à afficher rubrique : id de la rubrique ( dans le cas où l'on veut les images associées à une rubrique ) largeur : largeur maxi de l'image hauteur : hauteur maxi de l'image dossier : dossier associé contenu : contenu associé opacite : opacité de l'image ( 0-100 ) noiretblanc : convertir l'image en nb ( 1 ) miroir : 1 si mirroir aleatoire : 0 ou 1 ( aléatoire ) exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #PRODUIT : id du produit associé #RUBRIQUE : id de la rubrique associée #PRODTITRE : titre du produit associé #PRODREF : référence du produit associé #GRANDE : grande image yoan@octolys.fr #PETITE : petite image #FPETITE : nom du fichier de la petite image #FGRANDE : nom du fichier de la grande image #RUBTITRE : titre de la rubrique associée #ID : id de l'image #COMPT : compteur d'image yoan@octolys.fr La boucle DEVISE Param entrée produit : id du produit id : id de la devise somme : somme à convertir si nécessaire Param sortie #PRIX : prix dans la nouvelle devise #PRIX2 : prix promotionné dans la nouvelle devise #TOTAL : total du panier converti #CONVERT : somme convertie si la somme a été passée en paramètre #NOM : nom de la devise #CODE : code HTML de la devise ( $, £ ... ) #TAUX : taux de conversion ( base euro ) La boucle DOCUMENT Param entrée produit : id du produit rubrique : rubrique associée dossier : dossier associé contenu : contenu associé num : nombre de documents à afficher nb : numéro du document à afficher debut : premier document à afficher exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #TITRE : titre du document #FICHIER : fichier du document yoan@octolys.fr La boucle ACCESSOIRE Param entrée produit : id du produit num : nombre d'accessoires aleatoire : affichage aléatoire Param sortie #ACCESSOIRE : id de l'accessoire yoan@octolys.fr La boucle PRODUIT Param entrée rubrique: rubrique du produit boutique : boutique du produit deb : premier produit num : nombre de produits bloc : nombre de blocs ( si utilisation de tableaux ) nouveaute : 0 ou 1 ( produit nouveau ou non ) promo : 0 ou 1 ( en promo ou non ) reappro : 0 ou 1 ( en réappro ou non ) ref : référence produit id : id produit garantie : nb année garantie motcle : mot clé classement : prixmin, manuel, inverse aleatoire : 0 ou 1 ( aléatoire ) prixmin : prix mini prixmax : prix max caracteristique : caractéristique produit caracdisp : valeur de la caractéristique ( dans une liste ) caracval : valeur de la caractéristique ( manuel ) declinaison : déclinaison produit declidisp : valeur de la déclinaison ( dans une liste ) declival : valeur de la caractéristique ( manuel ) declistockmini : stock mini courant : 1 si produit courant, 0 sinon exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #REF : référence produit #DATE : date de dernière modif #HEURE : heure de la dernière modif #DEBCOURANT : début courant ( voir exemple ci-dessous ) #ID : id du produit #PRIX : prix du produit yoan@octolys.fr #PRIX2 : prix promotionné #POURCENTAGE : pourcentage de réduction #RUBRIQUE : rubrique du produit #PERSO : objet personnalisable ( 0 ou 1 ) #QUANTITE : quantité disponible #POIDS : poids du produit #TITRE : titre du produit #STRIPTITRE : titre du produit sans les tags HTML #CHAPO : chapo du produit #STRIPCHAPO : chapo sans les tags HTML #DESCRIPTION : description du produit #STRIPDESCRIPTION : description du produit sans les tags HTML #URLBOUTIQUE : url de la boutique #URL : url du produit #REWRITEURL : url réécrite du produit #GARANTIE : nombre d'année de garantie du produit #PANIER : url d'ajout au panier #RUBTITRE : titre de la rubrique <THELIA_PROD type="PRODUIT" rubrique="#RUBRIQUE_ID" num="3" classement="manuel"> <ul> <li>#TITRE</li> <li>#PRIXU</li> </ul> </THELIA_PROD> La boucle PAGE Param entrée num : nombre de produits par page courante : on veut la page courante pagecourante : page courante typeaff : 0 ou 1 ( 0 --> page suivante/précédente, 1-->pages ) max : nombre de pages max yoan@octolys.fr affmin : affichage minimum Param sortie #PAGE_NUM : numéro de page #PAGE_SUIV: page suivante #PAGE_PREC: page précédente #RUBRIQUE : rubrique yoan@octolys.fr <ul> <THELIA_PAGEPREC type="PAGE" rubrique="#RUBRIQUE_ID" num="3" typeaff="0" max="10"> <a href="rubrique.php?id_rubrique=#RUBRIQUE_ID&page=#PAGE_PREC">Page pr&eacute;c&eacute;dente </a> </THELIA_PAGEPREC> </ul> <ul> <THELIA_CPAGE type="PAGE" rubrique="#RUBRIQUE_ID" num="3" max="10" typeaff="1"> <THELIA_PAGECONT_COUR type="PAGE" rubrique="#RUBRIQUE_ID" num="3" courante="1" pagecourante="#PAGE_NUM" typeaff="1" max="10"> <li>#PAGE_NUM</li> </THELIA_PAGECONT_COUR> <THELIA_PAGECONT_PASCOUR type="PAGE" rubrique="#RUBRIQUE_ID" num="3" courante="0" pagecourante="#PAGE_NUM" typeaff="1" max="10"> <li><a href="rubrique.php?id_rubrique=#RUBRIQUE_ID&page=#PAGE_NUM"">#PAGE_NUM</a></li > </THELIA_PAGECONT_PASCOUR> </THELIA_CPAGE> </ul> <ul> <THELIA_PAGESUIV type="PAGE" rubrique="#RUBRIQUE_ID" num="3" typeaff="0" max="10"> <li><a href="rubrique.php?id_rubrique=#RUBRIQUE_ID&page=#PAGE_SUIV"> Page suivante </a></li> </THELIA_PAGESUIV> </ul> yoan@octolys.fr La boucle PANIER Param entrée deb : départ de lecture ( si on ne veut pas commencer au 1er article ) fin : fin de lecture dernier : 1 si on veut seulement le dernier article Param sortie #REF : référence produit #ID : id du produit #TITRE : titre du produit #QUANTITE : quantite commandée #PRODUIT : id du produit #ARTICLE : numéro d'article dans le panier #PRIXU : prix unitaire #TOTAL : total du panier #REMISE : remise #PLUSURL : url + ( augmenter la quantité ) #MOINSURL : url - ( diminuer la quantité ) #SUPPRURL : url suppression produit #PRODURL : url fiche produit #TOTSANSPORT : total sans frais de port #PORT : frais de port #TOTPORT : total port compris #DECTEXTE : liste des déclinaisons #DECVAL : valeur des déclinaisons yoan@octolys.fr La boucle QUANTITE Param entrée article : numéro de l'article dans le panier (#ARTICLE de la boucle panier) Param sortie #NUM : quantité #SELECTED : renvoie selected si quantité sélectionnée La boucle CHEMIN Param entrée rubrique : id de la rubrique profondeur : profondeur max du chemin niveau : niveau à récupérer Param sortie #ID : id de la rubrique #TITRE : titre de la rubrique #URL : url de la rubrique La boucle PAIEMENT Param entrée id : id du paiement Param sortie #ID : id du paiement #URLTYPE : url du paiement #URLPAYER : accès au paiement #LOGO : logo du paiement #TITRE : titre du paiement #CHAPO : chapo du paiement #DESCRIPTION : description du paiement yoan@octolys.fr La boucle PAYS Param entrée id : id du pays zone : zone des pays à afficher zdefinie : si 1, seuls les pays associés à une zone seront affichés select : id du pays à sélectionner default : souhaite le pays par défaut Param sortie #ID : id du pays #TITRE : titre du pays #CHAPO : chapo du pays #DESCRIPTION : description du pays #SELECTED : selected si pays en cours #DEFAULT : selected si pays par défaut La boucle CARACTERISTIQUE Param entrée id : id de la caractéristique rubrique : rubrique de la caractéristique produit : produit de la caractéristique affiche : 0 si toutes les caractéristiques, 1 si seulement les rubriques cochées Param sortie #ID : id de la caractéristique #PRODUIT : produit passé en paramètre #TITRE : titre de la caractéristique #CHAPO : chapo de la caractéristique #DESCRIPTION : description de la caractéristique yoan@octolys.fr La boucle CARACDISP Param entrée caracteristique : caractéristique id : caracdisp etcaracteristique : autre caractéristique ( combinaison de caractéristiques ) etcaracdisp : autres valeurs ( combinaison de caractéristiques ) classement : alpha si ordre alphabétique, alphainv si inverse alpha Param sortie #ID : id de la caracdisp #CARACTERISTIQUE : caractéristique associée #TITRE : valeur de la caracdisp La boucle CARACVAL Param entrée caracteristique : caractéristique produit : id du produit valeur : valeur de la caracval ( ! si différent ) Param sortie #ID : id de la caracval #CARACDISP : caracdisp associée #VALEUR : valeur associée #RUBRIQUE : rubrique associée #TITRECARAC : titre de la caractéristique La boucle ADRESSE Param entrée Adresse : adresse à afficher client : id du client ( pour afficher toutes les adresses d'un client ) Param sortie #ID : id adresse yoan@octolys.fr #LIBELLE : libellé de l'adresse #RAISON : raison sociale #NOM : nom associé #PRENOM : prénom associé #ADRESSE1 : adresse associée #ADRESSE2 : seconde ligne de l'adresse associée #ADRESSE3 : complément d'adresse #CPOSTAL : code postal associé #VILLE : ville associée #PAYS : pays associé #EMAIL : email associé #TELFIXE : téléphone fixe associé #TELPORT : téléphone portable associé #SUPPRURL : url de suppression #URL : url associée yoan@octolys.fr La boucle COMMANDE Param entrée ref : référence de la commande client : id du client ( si l'on souhaite afficher toutes les commandes d'un client ) statut : statut de la commande ( 1, 2, 3, 4 ... ou paye ) Param sortie #ID : id de la commande #ADRESSE : adresse de la commande #DATE : date de la commande #REF : référence de la commande #LIVRAISON : livrée ou non ? ( 0, 1 ) #FACTURE : numéro de facture #DATELIVRAISON : date de livraison #ENVOI : envoyé ou non ? ( 0, 1 ) #PAIEMENT : type de paiement #REMISE : remise de la commande. #STATUT : statut de la commande ( 1-->non payé, 2-->payé, 3-->traitement, 4-->envoyée ) #TOTALCMD : total de la commande #PORT : frais de port #TOTCMDPORT : total de la commande, port compris #FICHIER : fichier associé à la commande La boucle VENTPROD Param entrée commande : id de la commande Param sortie #ID : id de la venteprod #REF : référence du produit #TITRE : titre du produit #CHAPO : chapo du produit #DESCRIPTION : description du produit #QUANTITE : quantité commandée #PRIXU : prix unitaire yoan@octolys.fr #TOTALPROD : prix total yoan@octolys.fr La boucle CLIENT Param entrée id : id du client ref : référence du client raison : civilité du client nom : nom du client cpostal : code postal du client ville : ville du client pays : pays du client parrain : id du parrain revendeur : 0 ou 1 Param sortie #ID : id du client #REF : référence du client #RAISON : raison sociale du client #NOM : nom du client #PRENOM : prénom du client #TELFIXE : téléphone fixe du client #TELPORT : téléphone portable du client #EMAIL : email du client #ADRESSE1 : adresse du client #ADRESSE2 : suite adresse du client #ADRESSE3 : complément d'adresse du client #CPOSTAL : code postal du client #VILLE : ville du client #PAYS : pays du client #PARRAIN : parrain #TYPE : type ( revendeur ou non ) #POURCENTAGE : pourcentage de remise yoan@octolys.fr La boucle TRANSPORT Param entrée id : id du transport Param sortie #ID : id du transport #TITRE : titre du transport #CHAPO : chapo du transport #DESCRIPTION : description du transport #PORT : frais de port associés #URLCMD : url de commande La boucle RSS Param entrée url : url du flux RSS deb : 1er item à afficher nb : nombre d'items à afficher Param sortie #SALON : titre du channel #WEB : adresse du site #TITRE : titre de l'item #LIEN : lien vers l'item #DESCRIPTION : description de l'item #AUTEUR : auteur de l'item #DATE : date de l'item #HEURE : heure de l'item La boucle CONTENU Param entrée dossier : dossier du contenu deb : premier contenu à afficher num : nombre de contenu à afficher yoan@octolys.fr bloc : nombre de bloc id : id du dossier motcle : mot clé si recherche produit : produit associé rubrique : rubrique associée classement : mode de classement ( aleatoire, manuel ) profondeur : profondeur des sous dossiers à inclure courant : 1 si contenu courant, 0 sinon aleatoire : 0 ou 1 ( aléatoire ) exclusion : id à exclure --> ex : « 1,2,7 » Param sortie #DATE : date du contenu #HEURE : heure du contenu #DEBCOURANT : contenu courant #ID : id du contenu #DOSSIER : dossier du contenu #TITRE : titre du dossier #STRIPTITRE : titre de la dossier sans les tags HTML #CHAPO : chapo du dossier #STRIPCHAPO : chapo de la dossier sans les tags HTML #DESCRIPTION : description du dossier #STRIPDESCRIPTION : description du dossier #URL : url du dossier #REWRITEURL : url réécrite #URLBOUTIQUE : url du dossier #RUBTITRE : lien du dossier La boucle DECLINAISON Param entrée id : id du contenu rubrique : rubrique à analyser produit : produit à analyser yoan@octolys.fr Param sortie #ID : id de la déclinaison #TITRE : titre de la déclinaison #CHAPO : chapo de la déclinaison #DESCRIPTION : description de la déclinaison #PRODUIT : id du produit associé La boucle DECLIDISP Param entrée id : id du contenu declinaison : déclinaison associée produit : produit à analyser stockmini : stock minimum Param sortie #ID : id du contenu #DECLINAISON : déclinaison associée #TITRE : titre de la declidisp #PRODUIT : id du produit associé La boucle STOCK Param entrée declidisp : declidisp associé produit : produit associé Param sortie #ID : id du contenu #DECLIDISP : déclidisp associée #PRODUIT : id du produit associé #VALEUR : valeur du stock yoan@octolys.fr La boucle DECVAL Param entrée article : id de l'article dans le panier Param sortie #DECLITITRE : titre de la déclinaison #VALEUR : valeur associée yoan@octolys.fr Les boucles conditionnelles Les boucles conditionnelles permettent d'afficher du texte si un résultat est présent dans la boucle, le cas échéant un second message. La syntaxe globale est celle-ci : <T_nomboucle> Texte à afficher avant si résultats <THELIA_nomboucle type ....> Texte de la boucle </THELIA_nomboucle> Texte à afficher après si résultat </T_nomboucle> Texte alternatif <//T_nomboucle> Voici un exemple concret : <T_prod> Voici la liste des produits de la rubrique blabla <THELIA_prod type="PRODUIT" rubrique="2"> fin de la liste </THELIA_prod> Aucun produit n'a été trouvé <//THELIA_prod> yoan@octolys.fr Connecte ou non connecté Il peut être intéressant d'afficher telle ou telle information suivant si le client est identifié ou non. Nous afficherons le lien « déconnexion » si le client est connecté et un formulaire d'identification dans le cas contraire. Thelia est capable de gérer cela, de la façon suivante. <THELIA SI CONNECTE> Code à afficher si connecté </THELIA SI CONNECTE> <THELIA SI NON CONNECTE> Code à afficher si non connecté </THELIA SI NON CONNECTE> yoan@octolys.fr Les formulaires Thelia propose différentes gestion de formulaire : ? création d'un nouveau compte ? identification ? formulaire panier ( changement quantité ) ? formulaire d'erreur Les exemples que je vais donner ici sont sans mise en forme. Nouveau compte <form action="#URLCOURANTE" method="post" name="nouveau" id="nouveau"> <input type="hidden" name="action" value="creercompte" /> <option value="" selected="selected">Choisissez ...</option> <option value="1">Madame</option> <option value="2">Mademoiselle</option> <option value="3">Monsieur</option> Votre Pr&eacute;nom* <input name="prenom" type="text" /> Votre nom* <input name="nom" type="text" /> Adresse* <input name="adresse1" type="text" /> Adresse (suite) <input name="adresse2" type="text" /> Compl&eacute;ment d'adresse <input name="adresse3" type="text" /> Code postal* <input name="cpostal" type="text" /> Ville* <input name="ville" type="text" /> Pays <select name="pays" size="1" disabled="disabled" class="arial11_reg_000000"> <option value="" selected="selected">Choisissez ...</option> <THELIA_pays type="PAYS" > <option value="#ID">#TITRE</option> </THELIA_pays> </select> T&eacute;l. fixe* <input name="telfixe" type="text" /> yoan@octolys.fr T&eacute;l. portable <input name="telport" type="text" /> E-Mail* <input name="email1" type="text" /> Confirmation E-Mail:* <input name="email2" type="text" /> Mot de passe* <input name="motdepasse1" type="password" /> Confirmation du mot de passe* <input name="motdepasse2" type="password" /> E-Mail de votre parrain <input name="parrain" type="text" /> </form> Identification <THELIA SI CONNECTE> Bonjour #CLIENT_PRENOM <a href="compte.php">Mon compte</a> <a href="#URLDECONNEXION">Deconnexion</a> </THELIA SI CONNECTE> <THELIA SI NON CONNECTE> <form action="compte.php" method="post" id="connexion" name="connexion"> <input type="hidden" name="action" value="connexion" > <input name="email" type="text" > <a href="#" onClick="document.getElementById('connexion').submit()"><img src="gfx/boutique/bt_OK.gif"></a> <input name="motdepasse" type="password" > </form> </THELIA SI NON CONNECTE> yoan@octolys.fr Panier <ul> <li>Article(s)</li> <li>PU </li> <li>Quantit&eacute;</li> <li>Prix TTC </li> <li>Supprimer</li> </ul> <ul> <THELIA_panier type="PANIER"> <li>#TITRE</li> <li>#PRIXU &euro;</li> <li> <form action="#URLCOURANTE" method="post" name="formpanier#PRODUIT" id="formpanier#PRODUIT"> <input type="hidden" name="article" value="#ARTICLE" /> <input type="hidden" name="action" value="modifier" /> <select name="quantite" onChange="document.getElementById('formpanier#PRODUIT').submit()"> <THELIA_quantite type="QUANTITE" article="#ARTICLE"> <option value="#NUM"#SELECTED>#NUM</option> </THELIA_quantite> </select> </form> </li> <li>#TOTAL &euro;</li> <li><a href="#SUPPRURL"><img src="gfx/general/bt_suppr.gif" width="18" height="18" border="0"></a></li> </THELIA_panier> yoan@octolys.fr </ul> Erreur <ul> <li> Civilit&eacute; #RAISON[(obligatoire)] <option value="" selected="selected">Choisissez ...</option> <option value="1" #RAISON1>Madame</option> <option value="2" #RAISON2>Mademoiselle</option> <option value="3" #RAISON3>Monsieur</option> </li> <li> Votre Pr&eacute;nom #PRENOM[(obligatoire)] <input name="prenom" type="text" value="#PRENOM" /> </li> <li> Votre nom #NOM[(obligatoire)] <input name="nom" type="text" value="#NOM"/> </li> <li> Adresse #ADRESSE1[(obligatoire)] <input name="adresse1" type="text" value="#ADRESSE1"/> </li> <li> Adresse (suite) <input name="adresse2" type="text" value="#ADRESSE2"/> </li> yoan@octolys.fr <li> Compl&eacute;ment d'adresse input name="adresse3" type="text" value="#ADRESSE3"/> </li> <li> Code postal #CPOSTAL[(obligatoire)] <input name="cpostal" type="text" value="#CPOSTAL"/> </li> <li> Ville #VILLE[(obligatoire)] <input name="ville" type="text" value="#VILLE" /> </li> <li> Pays : #PAYS[(obligatoire)] <select name="pays" size="1" disabled="disabled" class="arial11_reg_000000"> <option value="#ID" #SELECTED>Choisir un pays</option> <THELIA_pays type="PAYS"> <option value="#ID">#TITRE</option> </THELIA_pays> </select> </li> <li> T&eacute;l. fixe #TELFIXE[(obligatoire)] <input name="telfixe" type="text" value="#TELFIXE" /> </li> <li> T&eacute;l. portable <input name="telport" type="text" value="#TELPORT" /> </li> <li> yoan@octolys.fr E-Mail #EMAIL[(V&eacute;rifiez votre E-Mail)] <input name="email1" type="text" value="#EMAIL" / </li> <li> Confirmation E-Mail: <input name="email2" type="text" value="#EMAIL" /> </li> <li> Mot de passe #MOTDEPASSE[(Mot de passe 6 caractères mini)] <input name="motdepasse1" type="password" /> </li> <li> Confirmation du mot de passe* <input name="motdepasse2" type="password" /> </li> <li> <a href="#" onclick="document.getElementById('nouveau').submit()"><img src="gfx/general/bt_poursuivre_up.gif" ></a> </li> </ul> yoan@octolys.fr Conclusion Cette documentation apporte les informations nécessaires au développement d'un site de commerce électronique avec Thelia. Celle-ci va bien sûr s'étoffer, puis être remaniée régulièrement, au fur et à mesure de l'évolution de Thelia. yoan@octolys.fr

PARTAGER SUR

Envoyer le lien par email
1706
READS
89
DOWN
8
FOLLOW
4
EMBED
DOCUMENT # TAGS
#thelia  #cms  #open source ecommerce  #ecommerce open source solution 

Licence Publique Générale GNU


DOCUMENT # INDEX
e-commerce 
img

Partagé par  thelia-addict

 Suivre

Auteur:octolys.fr
Source:Non communiquée