Déclinaisons Prix

Extension du plugin Prix objets. Permet de définir plusieurs types de prix pour un objet

Installation

Comme n’importe quel plugin.

il nécessite les plugins :

Configuration

Il est possible d’intervenir sur l’affichage du formulaire panier. Par défaut son menu de sélection affiche le titre de l’objet, suivi du titre de la déclinaison et le prix. Ceci peut être désactivé dans la configuration afin de ne pas afficher le titre de l’objet.

Utilisation

Le plugin s’incruste dans le formulaire d’édition de prix du plugin Prix Objets.

Lorsque vous ajoutez un prix, vous pouvez lui attribuer une déclinaison (nouvelle ou déjà existante).

Le nom de la déclinaison est alors ajouté au prix.

Compatibilité avec d’autres plugins

Le plugin est intégré dans Réservation d’événements et utilisable tel quel.

Il dispose d’un formulaire panier compatible avec le plugin Panier

<div class="panier">
	<div class="ajax">
		#FORMULAIRE_PANIER_DECLINAISON{#ID_OBJET,#OBJET}
	</div>
</div>

La balise accepte une troisième variable optionnel qui définit l’affichage du menu de sélection du formulaire en surchargeant ce qui a été défini dans la configuration. (« court » = affiche uniquement le titre de la déclinaison + prix, « complet » affiche le titre de l’objet suivit du titre de la déclinaison et le prix).

Le formulaire actualise via ajax un inclure avec l’id ajax « mon_panier ».
Voilà une possible intégration, dans un squelette inclure/mon_panier.html.

#CACHE{0}
<div class="bloc_panier">
<B_ispanier>
<h2><:paniers:mon_panier:></h2>
<div class="ajax">#FORMULAIRE_PANIER</div>
  <BOUCLE_ispanier(paniers_liens){id_panier = #SESSION{id_panier}}{0,1}>
    [(#BOUTON_ACTION{
    <:shop:passer_la_commande:>,
      #URL_ACTION_AUTEUR{
        commandes_paniers,
        #ID_PANIER,
        #SELF|parametre_url{appel,mes_coordonnees}}
        ,continuer
    })]
    	<br class="clear" />
  </BOUCLE_ispanier>
[(#ENV{appel}|=={mon_panier}|oui)<p><:paniers:panier_vide:></p>]
<//B_ispanier>
</div>

à inclure de la manière suivante :

  1. <INCLURE{fond=inclure/mon_panier,env,ajax=mon_panier,session}/>

Dernière modification de cette page le 13 février 2019

Discussion

2 discussions

  • 4

    Bonjour, j’utilise le plugin Declinaison (j’essaie !) et je me trouve confronté à un problème.
    je tente de lister les produits de ma rubrique catalogue pour lesquels deux tarifs ont systématiquement été enregistré en fonction de deux déclinaisons.

    J’ai 33 produits d’enregistrés. Dans les fiches produits pas de soucis pour sortir les deux tarifs.

    Mon soucis est que je ne trouve pas le moyen dans une boucle Rubrique de lister sous forme de tableau les deux tarifs. j’ai systématiquement une erreur 503.

    J’ai essayé plein de façons de faire mais je n’y arrive pas. Voici ma boucle litigieuse :

    <table style="width:300px">
     <tr>
        <th>Produit</th>
        <th>Intérieur</th>
        <th>Extérieur</th>
      </tr>
               
                     <BOUCLE_articleintro(ARTICLES) {id_rubrique}>
            <tr>                [<td>(#TITRE|supprimer_numero)</td>]
                        
         <BOUCLE_prix_evenement1(PRIX_OBJETS){id_objet=#ID_ARTICLE} {objet=article} {0,2}>
       <td> #PRIX_HT </td>
       
        </BOUCLE_prix_evenement1>
                    
    </tr>        
    </BOUCLE_articleintro>
      </table> 

    Avec cet exemple erreur 503

    Avec <BOUCLE_prix_evenement1(PRIX_OBJETS){id_objet=#ID_ARTICLE} {objet=article} {0,1}> ça m’affiche bien 1 prix

    • Pour pouvoir faire fonctionner mon système pour le moment je ne peux donc lister mes prix mais je peux lister un lien pour ajout au panier dans les deux declinaisons.

      C’est donc le calcul de #PRIX qui semble utiliser beaucoup de ressources (??)
      N’y a t-il pas moyen d’aller chercher ces prix sans qu’ils subissent un formatage / devise, taxe etc ... ?

    • Ta boucle semble correcte, mais ton serveur ne paraît pas la gérer. tu es en local ? Essaie d’augementer « max_execution_time » , « max_input_time », memory_limit

      1. #PRIX_HT**

      enlève le formatage

    • Mon serveur est chez OVH. C’est vrai que je n’ai pas essayé d’augmenter le temps d’execution.
      Merci pour l’astuce pour retirer le formatage, ça marche impec !

    Répondre à ce message

  • 6

    bonjour,
    des questions au sujet de l’intégration au plugin réservation d’événement.
    Pas réussi à voir apparaître un choix de tarif lorsque s’affiche le formulaire de réservation.
    J’ai vu les deux tarifs s’afficher, mais pas leur titre (puisqu’il s’agit du même événement), de plus si on sélectionne un nombre de places au tarif 1 et un nombre de places au tarif 2, seul le nombre de réservations au tarif 2 est pris en compte ... par contre si toutes les places sont réservées à soit le tarif1, soit le tarif2, le nombre de places pris en compte correspond.
    Le problème est le suivant : il s’agit d’introduire un code qui donne droit à une réduction. Le tarif de base et le tarif réduit sont fixes.
    puisqu’il faut bien qu’il y ait un motif pour choisir/avoir droit à l’un ou à l’autre et que la preuve puisse être faite (là par un code de réduction), que faire ?
    Qu’en pensez-vous ?

    • Salut Emma,

      Pour le premier point :

      Est-ce que tu as bien attribué une déclinaison à chaque prix ? (probablement oui, mais je demande :))
      Est-ce que tu as surchargé des squelettes de réservation événements
      Peux tu mettre des screenshots ( je t’en ai mis un pour voir comment ça ce présente chez moi dans un spip 3.2 vierge)

      2. effectivement il prend en compte seulement le deuxième choix. Je suis d’accord ce n’est pas idéal au niveau « usability ». Je devrais en faire un menu radio au lieu de checkbox, car seulement un choix est possible.

      Pour ce que tu cherche à faire, si je comprends bien c’est que si un code de promotion est introduit, un des deux prix (le réduit) est appliqué. Cela ne fonctionnerai pas « out of the box ». Tu peux bien définir les deux prix via déclinaison prix, mais la relation entre code promotionnel et le prix à adapter devrait être fait spécifiquement (javascript, ajax ?). En plus il y la validation du code de promotion.

      Ce que je ferai c’est encoder les deux prix via déclinaison prix.
      Dans le formulaire tu afficheras alors le prix plein avec un champ pour le code promotionnel. Si un code est entré tu le valide via ajax et si ok tu affiche le prix réduit en cachant l’autre.

    • merci pour la célérité !
      j’avais oublié d’avouer mes faiblesses ... je trifouille, je bidouille mais je ne pas javascripte ni java (contraire à ma religion)

    •  :) on peut pas tout avoir...

      comment tu gère les codes de promotions ?

    • NB autant que je me souviennes de cet essai en local - que j’ai écrasé - j’avais ajouté le plugin « déclinaisons » or tu dis (et mon constat va dans ce sens) qu’il est en natif dans le plugin réservation événements. Déçue, j’ai effacé.
      J’avais donc les 2 prix, le premier check box n’était plus coché par défaut, il était donc possible de cocher les deux, de mettre un nombre de personnes pour l’un et pour l’autre, seul le second était comptabilisé ...

    • les codes promotions ? bonne question ... dans l’analyse de besoins, il semblait qu’on pouvait n’en générer qu’un et tjs le même ...
      comme je n’ai pas réussi à savoir où ajouter un champ (extra), je me suis résolue à créer un formidable, avec un champ validable par comparaison (avec l’unique code)
      oui mais comment associer tout ça ?

    • NB je reprends le L et le XL (tea shirt ?) que j’avais éliminé (sauf à décrire la taille du fauteuil) pour songer à un événement avec ou sans repas : ce qui se défend et ne nécessite en effet pas de code.

    Répondre à ce message

Ajouter un commentaire

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