THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


big_smile... Non le filtre est possible en natif c'est toi qui l'a fait remarqué : avec un filtre égalité et le tag #PANIER_NBART il doit y arriver tout seul...

Offline


Bonjour smile

jb merci pour tout ça, mais encore quelques questions (lourd jusqu'au bout.) :

Où installer le dossier homonyme et le fichier à l'intérieur ?

Où rajouter adresse.php?action=verifbouteille ?
(l'url du panier vers l'adresse est sous cette forme : URL_PAGE{adresse}, et si je mets monsite/spip.php?page=adresse.php?action=verifbouteille ça ne fonctionne pas)

Mârci...

Offline


Bonjour,

Essaie avec monsite/spip.php?page=adresse.php&action=verifbouteille

Alfouine,

Last edited by alfouine (07-05-2009 08:17:08)


Au royaume des aveugles, les borgnes sont mal vus.

Offline


mdb wrote:

Où installer le dossier homonyme et le fichier à l'intérieur ?

Dans le dossier client/plugins/

Sans oublie de l'activer dans l'admin.

wink

Last edited by Elyos (07-05-2009 10:02:23)


Aide les autres, ils t'aideront en retour.

Offline


Hello,

Le dossier verifbouteille se range dans le dossier client/plugin

N'oublie pas de l'activer ensuite depuis le BO

L'adresse proposée par Alfouine doit marcher : tu t'étais trompé entre un "?" et un "&". Si cela ne fonctionne pas vérifie l'adresse retenue par ton navigateur lorsque tu valides le panier et montre-la moi.



jb

Offline


..... bis repetita...
Désolé...  Elyos tape plus vite que son ombre... big_smile

Last edited by ottoroots (07-05-2009 10:07:01)

Offline


eh eh tongue


Aide les autres, ils t'aideront en retour.

Offline


La page me donne une erreur 404

url : monsite/spip.php?page=adresse.php?thelia_action=verifbouteille

Si je recalcule la page 404, retour au panier

Last edited by mdb (07-05-2009 10:24:44)

Offline


"?thelia_action" ???
ça serait plutôt &action


Aide les autres, ils t'aideront en retour.

Offline


URL spip.php?page=adresse.php&action=verifbouteille

Résulat :
"Erreur...
Fichier action/verifbouteille introuvable"

Offline


ok.

C'est le système de pagination propre à SPIP qui bloque. comment se transmet le paramètre action avec SPIP ?
Quand tu ajoutes un article au panier par exemple est-ce que tu peux me remonter l'url du navigateur ?

jb

Offline


Quand j'ajoute un article, je suis redirigé sur le panier.
URL monsite/spip.php?page=panier&lang=fr

l'url-rewriting poserait donc problème ?

Offline


Non, pas à ma connaissance mais je suis pas un pro du rewriting.

Essaye cette adresse :

url : monsite/spip.php?page=adresse&action=verifbouteille

jb

Offline


Avec url : monsite/spip.php?page=adresse&action=verifbouteille

Toujours
"Erreur...
Fichier action/verifbouteille introuvable"

Offline


Ca bloque... Et je ne sais pas pourquoi alors ça m'énerve. Je n'ai pas SPIP installé et ne peux tester ou chercher la raison du pourquoi du comment. C'est forcément tout bête.

Avec Thélia, un client transmet un paramètre action et sa valeur (exemple action=ajouter, action=modifadr.....) : par exmple un ajout au panier se traduit par une url : panier.php&action=ajouter&ref=xxx

Le plugin créé une nouvelle action verifbouteille et fonctionne strictement comme toutes les autres actions de Thélia. D'ailleurs ça fonctionne parfaitement sur une install Thélia.

Ton problème est certainement mineur. il faut trouver comment SPIP transmet l'action au panier. A priori tu sembles passer par un formulaire pour la mise au panier. Peux-tu passer la méthode de ton formulaire à GET pour voir les paramètres transmis ?

Offline


Quand j'ajoute un produit au panier (sur la page produit), voici l'URL générée en GET :
monsite/spip.php?thelia_action=ajouter&ref=002&x=6&y=9

Last edited by mdb (07-05-2009 13:36:03)

Offline


remet en POST
et dis nous quelle est l'adresse générée quand tu valides ton panier.


Aide les autres, ils t'aideront en retour.

Offline


hmmmm
C'est l'adresse monsite/spip.php?page=adresse&action=verifbouteille du coup !

Offline


mdb wrote:

hmmmm
C'est l'adresse monsite/spip.php?page=adresse&action=verifbouteille du coup !

et ça marche pas ? (dixit toi plus haut)


Aide les autres, ils t'aideront en retour.

Offline


Toujours

"Erreur...
Fichier action/verifbouteille introuvable"

Offline


apparemment sous spip c'est pas action mais thelia_action...

mais dans ce cas faut remplacer dans le plugin action par thelia_action et tester


Aide les autres, ils t'aideront en retour.

Offline


....
Je ne pense pas que ça changera parce qu'alors toutes les actions de Thélia devraient alors être réécrites pour fonctionner avec SPIP ce qui n'est pas le cas... sad

Je ne comprends pas bien comment SPIP fonctionne : quand tu ajoutes un produit au panier, ton url ne porte pas l'adresse du panier, seulement thelia_action =ajouter... ca veut dire que tu n'es pas redirigé vers le panier mais reste sur la page produit ?

Pige pas....

On peut essayer d'adapter le plugin, juste pour voir :

<?php
    include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
    
    class Verifbouteille extends PluginsClassiques{
    
    var $qteprod =0;
    
    function Verifbouteille(){
            $this->PluginsClassiques("verifbouteille");
        }
    
    function action (){
        if($_REQUEST['action']== "verifbouteille" ){

            for($compt = 0; $compt<$_SESSION['navig']->panier->nbart; $compt++){
                $this->qteprod += $_SESSION['navig']->panier->tabarticle[$compt]->quantite;
            }
            
            if($this->qteprod % 6 !==0) {
                
                header("Location: panier.php");
               $this->qteprod=0;
            }
           else {

                header("Location: adresse.php");

        $this->qteprod=0;
        }
      }
    }
}
?>

et pour l'adresse monsite/spip.php?thelia_action=verifbouteille

C'est du bricolage pour tester.

jb

Last edited by ottoroots (07-05-2009 14:36:52)

Offline


Ca marche smile

En partie !

Quand j'ai un seul produit :
- Si je sélectionne une quantité non multiple de 6, il me renvoie sur le panier.
Mais il manque un message d'erreur du style "votre quantité doit être multiple de 6".
- Si je sélectionne un quantité multiple de 6, il me fait bien passer à la page adresse.

Donc ça c'est cool, sauf qu'il manquerait un message d'erreur smile

Par contre, quand j'ai plusieurs produits, et que ma quantité totale doit être multiple de 6, ça ne marche plus

Last edited by mdb (07-05-2009 14:43:14)

Offline


AH ! J'ai rien dit ^^

Quand j'ai plusieurs produits cela fonctionne bien !

Il manque donc juste un message d'erreur

Offline


re....

Voilà une bonne chose de faite..... smile


Mettons-y un joli petit message d'erreur si le client a oublié de commander queqlues bouteilles big_smile :

à rajouter sur le squelette panier.html, après avoir ajouté la traditionnelle variable $parsephp=1; sur panier.php :

<?php
$totprod = #PANIER_NBART;
if($totprod % 6 !==0) {
								
echo "allez mettez-en encore quelques unes au frais";
}	
?>

Et le tour est (enfin) joué....

Juste pour ma culture perso : qu'est ce que tu as modifié au final pour que ça fonctionne sur SPIP ?

jb