[SPIP Zone] [SVN][ECHOPPE] Cache des balises et formulaires

Salut hello tous,

J'ai un soucis sur echoppe :
J'ai des balises qui ne se recalculent pas assez souvent.
Par exemple :
j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
qu'on as dans son panier.
Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
dans une table.
La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
il y aurait un cache en jeu.
Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.

J'ai le même problème avec des balises dans le formulaire panier, avec
#total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
....

Ma question :
Y a t il un cache au niveau des balise ?
Est-ce la bonne manière de faire ?

Seb

--
Denooz Sébastien. Crowfoot pour les intimes...
Jabber : crowfoot@jabber.fr
Web : http://www.licronux.org

Hacking For Freedom
Fellowship of F.S.F.E.
http://www.fsfe.org

Denooz Sébastien a écrit :

Salut hello tous,

J'ai un soucis sur echoppe :
J'ai des balises qui ne se recalculent pas assez souvent.
Par exemple :
j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
qu'on as dans son panier.
Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
dans une table.
La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
il y aurait un cache en jeu.
Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.

J'ai le même problème avec des balises dans le formulaire panier, avec
#total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
....

Ma question :
Y a t il un cache au niveau des balise ?
Est-ce la bonne manière de faire ?

pas sur de comprendre, mais si c'est bien ce que je crois, c'est "simplement" que les balises sont calculées avant l'execution du PHP.

Pour ca, il n'y a pas 50 solutions.
Si tu veux au submit, enregistrer les données et afficher le resultat, il faut pointer vers une "action" qui fasse l'enregistrement puis seulement rediriger vers la page d'affichage.

@++

Le 24 avril 2008 11:04, Stephane <stephane@rezo.net> a écrit :

Denooz Sébastien a écrit :

> Salut hello tous,
>
> J'ai un soucis sur echoppe :
> J'ai des balises qui ne se recalculent pas assez souvent.
> Par exemple :
> j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
> qu'on as dans son panier.
> Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
> dans une table.
> La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
> il y aurait un cache en jeu.
> Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.
>
> J'ai le même problème avec des balises dans le formulaire panier, avec
> #total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
> ....
>
> Ma question :
> Y a t il un cache au niveau des balise ?
> Est-ce la bonne manière de faire ?
>
>
pas sur de comprendre, mais si c'est bien ce que je crois, c'est
"simplement" que les balises sont calculées avant l'execution du PHP.

Pour ca, il n'y a pas 50 solutions.
Si tu veux au submit, enregistrer les données et afficher le resultat,
il faut pointer vers une "action" qui fasse l'enregistrement puis
seulement rediriger vers la page d'affichage.

Oui c'est ce que je fait pour l'instant. Mais la balise ne se met pas
à jour de suite.

Genre j'ai 3 articles dans mon panier,
je clique sur le lien #URL_ACHAT_RAPIDE qui ajoute une unité directe
dans le panier,
et quand la page est chargée, j'ai toujours 3 article dans mon panier.
Ensuite si je clique sur recalculer, hop, 4éléments...

comprend pas trops ...

Seb

@++
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Denooz Sébastien. Crowfoot pour les intimes...
Jabber : crowfoot@jabber.fr
Web : http://www.licronux.org

Hacking For Freedom
Fellowship of F.S.F.E.

Denooz Sébastien a écrit :

Le 24 avril 2008 11:04, Stephane <stephane@rezo.net> a écrit :
  

Denooz Sébastien a écrit :

Salut hello tous,
      

>
> J'ai un soucis sur echoppe :
> J'ai des balises qui ne se recalculent pas assez souvent.
> Par exemple :
> j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
> qu'on as dans son panier.
> Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
> dans une table.
> La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
> il y aurait un cache en jeu.
> Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.
>
> J'ai le même problème avec des balises dans le formulaire panier, avec
> #total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
> ....
>
> Ma question :
> Y a t il un cache au niveau des balise ?
> Est-ce la bonne manière de faire ?
>
pas sur de comprendre, mais si c'est bien ce que je crois, c'est
"simplement" que les balises sont calculées avant l'execution du PHP.

Pour ca, il n'y a pas 50 solutions.
Si tu veux au submit, enregistrer les données et afficher le resultat,
il faut pointer vers une "action" qui fasse l'enregistrement puis
seulement rediriger vers la page d'affichage.
    
Oui c'est ce que je fait pour l'instant. Mais la balise ne se met pas
à jour de suite.

Genre j'ai 3 articles dans mon panier,
je clique sur le lien #URL_ACHAT_RAPIDE qui ajoute une unité directe
dans le panier,
  
ca pointe vers quoi #URL_ACHAT_RAPIDE ?

et quand la page est chargée, j'ai toujours 3 article dans mon panier.
Ensuite si je clique sur recalculer, hop, 4éléments...
  
et tu as #CACHE{0} ? ou tu invalides le cache après enregistrement ?

Le 24 avril 2008 17:39, Stephane <stephane@rezo.net> a écrit :

Denooz Sébastien a écrit :

> Le 24 avril 2008 11:04, Stephane <stephane@rezo.net> a écrit :
>
>> Denooz Sébastien a écrit :
>>
>>
>>> Salut hello tous,
>>>
>> >
>> > J'ai un soucis sur echoppe :
>> > J'ai des balises qui ne se recalculent pas assez souvent.
>> > Par exemple :
>> > j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
>> > qu'on as dans son panier.
>> > Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
>> > dans une table.
>> > La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
>> > il y aurait un cache en jeu.
>> > Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.
>> >
>> > J'ai le même problème avec des balises dans le formulaire panier, avec
>> > #total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
>> > ....
>> >
>> > Ma question :
>> > Y a t il un cache au niveau des balise ?
>> > Est-ce la bonne manière de faire ?
>> >
>> >
>> pas sur de comprendre, mais si c'est bien ce que je crois, c'est
>> "simplement" que les balises sont calculées avant l'execution du PHP.
>>
>> Pour ca, il n'y a pas 50 solutions.
>> Si tu veux au submit, enregistrer les données et afficher le resultat,
>> il faut pointer vers une "action" qui fasse l'enregistrement puis
>> seulement rediriger vers la page d'affichage.
>>
>
> Oui c'est ce que je fait pour l'instant. Mais la balise ne se met pas
> à jour de suite.
>
> Genre j'ai 3 articles dans mon panier,
> je clique sur le lien #URL_ACHAT_RAPIDE qui ajoute une unité directe
> dans le panier,
>

ca pointe vers quoi #URL_ACHAT_RAPIDE ?

ca s'utilise comme ca :
<a href="#URL_ACHAT_RAPIDE" >Ajouter 1 a mon panier</a>
et ca génère cela :
<a href="http://www.monsite.ltd/spip.php?action=ajouter_item_panier&id_produit=235&quot;

Ajouter 1 a mon panier</a>

par exemple.

> et quand la page est chargée, j'ai toujours 3 article dans mon panier.
> Ensuite si je clique sur recalculer, hop, 4éléments...
>

et tu as #CACHE{0} ?

oui

ou tu invalides le cache après enregistrement ?

Comment invalide-t-on le cache ?

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Denooz Sébastien. Crowfoot pour les intimes...
Jabber : crowfoot@jabber.fr
Web : http://www.licronux.org

Hacking For Freedom
Fellowship of F.S.F.E.

Denooz Sébastien a écrit :

ca pointe vers quoi #URL_ACHAT_RAPIDE ?
    
ca s'utilise comme ca :
<a href="#URL_ACHAT_RAPIDE" >Ajouter 1 a mon panier</a>
et ca génère cela :
<a href="http://www.monsite.ltd/spip.php?action=ajouter_item_panier&id_produit=235&quot;
  
Ajouter 1 a mon panier</a>
    

par exemple.

> et quand la page est chargée, j'ai toujours 3 article dans mon panier.
> Ensuite si je clique sur recalculer, hop, 4éléments...
>

et tu as #CACHE{0} ?
    
oui

ah ben c'est super bizarre alors... y a pas des histoires d'#INCLURE au lieu de<INCLURE> ?

bon, une solution efficace, c'est au moment de ton redirect, en fin d'action, d'aller coller &date= à la fin de l'url
comme ca, tu es sur que ni spip ni le navigateur n'essayeront d'utiliser le cache..

ou tu invalides le cache après enregistrement ?
    
Comment invalide-t-on le cache ?
  

    include_spip('inc/invalideur');
    suivre_invalideur("id='id_article/$id_article'");

mais bon, en 1.9.3, tu peux faire suivre_invalideur("toto'"); ca revient au meme...

@++

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 24 avril 2008 18:34, Stephane <stephane@rezo.net> a écrit :

Denooz Sébastien a écrit :

>
>> ca pointe vers quoi #URL_ACHAT_RAPIDE ?
>>
>
> ca s'utilise comme ca :
> <a href="#URL_ACHAT_RAPIDE" >Ajouter 1 a mon panier</a>
> et ca génère cela :
> <a href="http://www.monsite.ltd/spip.php?action=ajouter_item_panier&id_produit=235&quot;
>
>> Ajouter 1 a mon panier</a>
>>
> par exemple.
>
>
>> > et quand la page est chargée, j'ai toujours 3 article dans mon panier.
>> > Ensuite si je clique sur recalculer, hop, 4éléments...
>> >
>>
>> et tu as #CACHE{0} ?
>>
>
> oui
>
>
ah ben c'est super bizarre alors... y a pas des histoires d'#INCLURE au
lieu de<INCLURE> ?

pas d'#inclure en vue ...

bon, une solution efficace, c'est au moment de ton redirect, en fin
d'action, d'aller coller &date= à la fin de l'url
comme ca, tu es sur que ni spip ni le navigateur n'essayeront d'utiliser
le cache..

Oui mais le truc c'est que par exemple, j'ai un skelette panier. html,
et un autre produit.html
Quand je clique sur le lien "Ajout Panier" dans la page produit, je
reviendrais sur la page produit updatée, mais si je clique sur "voir
mon panier" sans rien ajouter, dans ce cas là ca ne seras pas
recalculé ... :confused:

>> ou tu invalides le cache après enregistrement ?
>>
>
> Comment invalide-t-on le cache ?
>
    include_spip('inc/invalideur');
    suivre_invalideur("id='id_article/$id_article'");

mais bon, en 1.9.3, tu peux faire suivre_invalideur("toto'"); ca
revient au meme...

encore une fois, si je n'ajoute rien alors que je change de page, ca
ne marchera pas. Je n'aurais pas l'occasion de provoquer le reclacul
vu que je ne passe à aucun script d'action ...

Merci de l'aide en tout cas.

Seb

@++

>
>>
>> _______________________________________________
>> spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone
>>
>>
>
>
>
>

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Denooz Sébastien. Crowfoot pour les intimes...
Jabber : crowfoot@jabber.fr
Web : http://www.licronux.org

Hacking For Freedom
Fellowship of F.S.F.E.

Salut,

c'est des balises dynamiques tes balises? genre FORMULAIRE_XXX ou LOGIN_PUBLIC etc.?

Pierre

Denooz Sébastien wrote:

Salut hello tous,

J'ai un soucis sur echoppe :
J'ai des balises qui ne se recalculent pas assez souvent.
Par exemple :
j'ai une balise #TOTAL_ITEM_PANIER qui indique le nombre de produit
qu'on as dans son panier.
Quand j'ajoute une un produit, techniquement, c'est ajouter une ligne
dans une table.
La balise est calculé en php. Donc pas de recuperer_fond ou autre ou
il y aurait un cache en jeu.
Hors, quand j'ajoute un produit, cette balise ne se recalcule pas tout de suite.

J'ai le même problème avec des balises dans le formulaire panier, avec
#total_prix_panier. Qui, même dans un formulaire ne se recalcule pas
....

Ma question :
Y a t il un cache au niveau des balise ?
Est-ce la bonne manière de faire ?

Seb

Denooz Sébastien a écrit :

bon, une solution efficace, c'est au moment de ton redirect, en fin
d'action, d'aller coller &date= à la fin de l'url
comme ca, tu es sur que ni spip ni le navigateur n'essayeront d'utiliser
le cache..
    
Oui mais le truc c'est que par exemple, j'ai un skelette panier. html,
et un autre produit.html
Quand je clique sur le lien "Ajout Panier" dans la page produit, je
reviendrais sur la page produit updatée, mais si je clique sur "voir
mon panier" sans rien ajouter, dans ce cas là ca ne seras pas
recalculé ... :confused:
  
je comprends pas.
si tu ne passes par aucune action, pourquoi recalculer puisque rien n'aura changé ?
  
>> ou tu invalides le cache après enregistrement ?
>>
>
> Comment invalide-t-on le cache ?
>
    include_spip('inc/invalideur');
    suivre_invalideur("id='id_article/$id_article'");

mais bon, en 1.9.3, tu peux faire suivre_invalideur("toto'"); ca
revient au meme...
    
encore une fois, si je n'ajoute rien alors que je change de page, ca
ne marchera pas. Je n'aurais pas l'occasion de provoquer le reclacul
vu que je ne passe à aucun script d'action ...
  
bon, deja, si tu es uniquement dans des <INCLURE> avec #CACHE{0} au debut de celui contenant ta balise statique, il ne devrait pas y avoir de probleme.
regarde dans le log ce qu'il raconte.

Mais ca n'est normalement pas necessaire si tu invalide le cache quand tu fais une modif.

Tu peux donner les squelettes qu'on voit ca ?

@++