You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Razack 2c6e32def3 Un include manquant 2 days ago
action Un include manquant 2 days ago
formulaires Pas besoin de appliquer_filtre pour prix_formater (dépendance obligatoire) + bonnes valeurs pour les cases à cocher dans la prévisu d'une offre 3 days ago
inclure Pas besoin de appliquer_filtre pour prix_formater (dépendance obligatoire) + bonnes valeurs pour les cases à cocher dans la prévisu d'une offre 3 days ago
lang On améliore l'inclusion qui rappelle la commande en cours : si la personne est connectée, on cherche si elle a un abonnement actif de la même offre, et du coup on montre bien que c'est un prolongement depuis la date de fin, et non pas depuis aujourd'hui ! Et si ya pas, alors c'est bien depuis aujourd'hui. Quand on n'est pas connecté, alors ça affiche une petite phrase expliquant que si jamais on est déjà abonné, alors il faut se connecter et alors ça sera un prolongement. 1 year ago
prive/objets/contenu Broutille affichage montant perso dans la prévisu 3 days ago
.gitattributes Une action unitaire, qui permet de faire la même chose que le gros formulaire mais pour une offre précise directement, et donc sans personnalisation de montant : hop ça met cette offre avec son prix par défaut en session, pour la commande qui se fera plus tard. 1 year ago
Readme.md Màj readme (coquilles et compléments) 4 months ago
commandes_abonnements.png Un début de plugin qui fournit des outils clé-en-main pour permettre à vos visiteurs de commander un abonnement en ligne sans rien avoir à coder ! 2 years ago
commandes_abonnements_administrations.php Un début de plugin qui fournit des outils clé-en-main pour permettre à vos visiteurs de commander un abonnement en ligne sans rien avoir à coder ! 2 years ago
commandes_abonnements_pipelines.php Afficher les 3 nouveaux champs dans la fiche d'une offre d'abonnement. Bon les textes sont peut-être à affiner, mais ça fait le job. 1 year ago
paquet.xml Un include manquant 2 days ago

Readme.md

Commandes d'abonnements

Un début de plugin qui fournit des outils clé-en-main pour permettre à vos visiteurs de commander un abonnement en ligne sans rien avoir à coder !

Fonctionnement

Le plugin fournit donc un formulaire de commande ergonomique (pas finalisé ya des styles en dur encore) qui se base sur les offres publiées et quelques champs supplémentaires ajoutés (renouvellement auto, montant personnalisable, etc).

Dans chaque offre, on peut dire que le montant est personnalisable, et dans ce cas les visiteurs auront un champ libre en plus pour proposer un montant supérieur.

Le résultat du choix est gardé en session, un peu comme pour un panier mais pas tout à fait pareil (car un seul élément mais avec des infos précises, pas juste l'id). Ensuite le plugin doit revenir à la charge une fois qu'on est sûr que nos visiteurs sont bien inscrits et connectés avec un compte qui a toutes les infos que l'on désire. Donc après l'inscription, ou après l'édition de son profil etc. Cette partie n'est pas terminée et doit être configurable ou doit savoir gérer plusieurs cas (inscription3 ou autre méthode de profil). Pour l'instant ça s'inscrit après les formulaires « editer_auteur », « inscription » et « editer_profil » pour montrer, et ça crée donc la Commande final à partir des infos que l'on avait gardé en session.

Mise en route

Exemple avec un tunnel de commande composé de 3 étapes :

  1. Choix de l'offre d'abonnement
  2. Saisie des informations du compte
  3. Paiement

On suppose qu'il y a 3 squelettes différents : commander.html, commander_compte.html et commander_payer.html. Il pourrait tout aussi bien n'y avoir qu'un seul squelette qui affiche les étapes selon un paramètre dans l'URL.

1. Choix de l'offre d'abonnement

Il suffit d'inclure le formulaire fournit par le plugin en indiquant une redirection vers l'étape suivante.

#FORMULAIRE_COMMANDER_ABONNEMENT{#URL_PAGE{commander_compte}}

Le choix de l'offre, le montant et le renouvellement sont gardés en session dans la clé commande_abonnement. La commande n'a pas encore été créée.

2. Informations du compte

Cette étape permet à l'utilisateur⋅ice de saisir ou mettre à jour les informations de son compte : nom, email, adresses, etc. Il faut détecter si la personne est connectée, et proposer en fonction soit les formulaires d'inscription, soit un formulaire de connection suivi d'un formulaire pour mettre à jour ses informations.

Cela dépend des méthodes que vous utilisez pour l'inscription et la gestion des informations des utilisateur⋅ices : soit avec les choses de base de SPIP, soit avec des plugins comme Profils ou Inscription3.

Prenons un exemple simple avec les formulaire de login et « editer_auteur » de SPIP. Cela pourrait ressembler à ça :

[(#SESSION{id_auteur}|oui)
<h2>Mettez à jour vos informations</h2>
#FORMULAIRE_EDITER_AUTEUR{#SESSION{id_auteur}, #URL_PAGE{commander_payer}
]

[(#SESSION{id_auteur}|non)
<h2>J'ai déjà un compte :</h2> 
#FORMULAIRE_LOGIN{#SELF}

<h2>Créer un nouveau compte :</h2> 
#FORMULAIRE_INSCRIPTION{6forum, new, #URL_PAGE{commander_payer}}
]

nb : Pour simplifier, cet exemple n'utilise pas les optimisations possible en place de la balise #SESSION

3. Paiement

Voilà, la commande a été créée automatiquement à la suite de l'étape 2 : elle comprend le montant personnalisé éventuel, le renouvellement, etc. Ne reste qu'à appeler le formulaire de paiement avec Bank par exemple :

<BOUCLE_payer(COMMANDES) {id_auteur = #SESSION{id_auteur}} {statut=encours} {0,1} {!par date}>
#FORMULAIRE_PAYER_ACTE{#PRIX*,
        #ARRAY{
            montant_ht, #PRIX_HT*,
            id_auteur, #ID_AUTEUR,
            id_commande, #ID_COMMANDE
        }
}
</BOUCLE_payer>