Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 01/04/2018 23:33:49

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

----------------------------------------------

Cms Version: 2.2.7

Installed Modules:

AceEditor2: 1.05
AdminSearch: 1.0.4
BoxPacker: 1.2.6
CGEcommerceBase: 1.8.6
CGExtensions: 1.60
CGFlatRateShipping: 1.0
CGMyOrders: 1.2.4
CGPaymentGatewayBase: 1.6.2
CGSimpleSmarty: 2.1.8
CGSmartImage: 1.22.2
CGSnapshot: 1.3
CMSContentManager: 1.1.6
CMSMailer: 6.2.14
Captcha: 0.5.5
Cart2: 1.4.2
CmsJobManager: 0.1.2
DesignManager: 1.1.4
FRTaxes: 1.3
FileManager: 1.6.6
FilePicker: 1.0.2
FormBuilder: 0.8.1.6
FrontEndUsers: 2.9
JMFilePicker: 1.0.1
JQueryTools: 1.4.0.3
MenuManager: 1.50.3
MicroTiny: 2.2.2
ModuleManager: 2.1.3
Navigator: 1.0.8
News: 2.51.3
Orders: 1.23.2
Products: 2.28.4
ProductsByVendor: 1.2.6
Promotions: 1.3.1.1
Search: 1.51.4
Showtime2: 3.5.4
SitemapMgr: 1.5.3
TinyMCE: 3.2-beta5
Uploads: 1.25.8

Config Information:

php_memory_limit:
max_upload_size: 128000000
url_rewriting: none
page_extension:
query_var: page
auto_alias_content: true
locale:
set_names: true
timezone: Europe/Paris
permissive_smarty: true

Php Information:

phpversion: 7.0.27
md5_function: On  (Vrai)
json_function: On  (Vrai)
gd_version: 2
tempnam_function: On  (Vrai)
magic_quotes_runtime: Off  (Faux)
E_ALL: 32759
E_STRICT: 2048
E_DEPRECATED: 8192
test_file_timedifference: Aucune différence de date du système trouvée
test_db_timedifference: Aucune différence de date du système trouvée
create_dir_and_file: 1
memory_limit: 512M
max_execution_time: 300
register_globals: Off  (Faux)
output_buffering: 4096
disable_functions: _dyuweyrj4, _dyuweyrj4r, dl
open_basedir:
test_remote_url: Valable
file_uploads: On  (Vrai)
post_max_size: 130M
upload_max_filesize: 128M
session_save_path: /tmp (0700)
session_use_cookies: On  (Vrai)
xml_function: On  (Vrai)
xmlreader_class: On  (Vrai)
check_ini_set: On  (Vrai)
curl: On

Performance Information:

allow_browser_cache: Off  (Faux)
browser_cache_expiry: 60
php_opcache: On  (Vrai)
smarty_cache: Off  (Faux)
smarty_compilecheck: Off  (Faux)
auto_clear_cache_age: On  (Vrai)
Server Information:

Server Software: Apache
Server Api: fpm-fcgi
Server Os: Linux 4.14.19-ovh-vps-grsec-zfs-classid On  x86_64
Server Db Type: MySQL (mysqli)
Server Db Version: 5.6.34
Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté

Permission Information:

tmp: /home/hyunkellzb/www/tmp (0705)
tmp_cache: /home/hyunkellzb/www/tmp/cache (0705)
templates_c: /home/hyunkellzb/www/tmp/templates_c (0705)
modules: /home/hyunkellzb/www/modules (0705)
uploads: /home/hyunkellzb/www/uploads (0705)
Masque de création de fichier (umask) : /home/hyunkellzb/www/tmp/cache (0705)
config_file: 0444
----------------------------------------------

Bonsoir à tous !

Je sollicite de nouveau votre aide pour un problème sur le module "Cart2", plus précisément : l'ajout au panier.

Actuellement, lorsque l'on effectue un ajout au panier, un rechargement de la page s'effectue pour mettre à jour le panier. Cependant, ce rechargement de page fait que (par exemple) si on se trouvait en bas de page, on se retrouve en haut après.

Vu comme ça, ça semble pas si bloquant. Sauf que si j'applique des filtres en Javascript pour les recherches produits de mes tableaux (foreach) et bien ils sont perdus à cause de l'ajout au panier.

Après plusieurs jours de recherche, j'ai cru comprendre que la solution était "Ajax" sauf que je ne parviens pas à mettre en place un code avec Cart2 qui permettrait d'empêcher le rechargement après le "submit".


Comme je commence à tourner très sévèrement en rond, toutes ouvertures sur de nouvelles idées est la bienvenue !

En vous remerciant par avance.

Hors ligne

#2 13/04/2018 17:42:22

cyrcle
Membre
Inscription : 04/01/2017
Messages : 41

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bonjour,
La suite e-commerce de CMSMS est assez fastidieuse à mettre en place, mais elle fonctionne.
Je n'ai pas de solution à te proposer pour un ajout au panier sans rechargement de la page, mais j'ai trouvé ce vieux fil de discussion en anglais qui pourra peut-être t'aiguiller :
Notifying successful add-to-cart
Dans le code proposé, il ne faut par exemple pas réutiliser la balise {cc_protect}. Cette fonctionnalité est maintenant intégrée à FEU.

Voici d'autres liens qui parlent du chargement de contenu sans rechargement complet de la page web à l'époque de CMSMS 1.x :
Easy way to load content without page refresh
The CMSMS AJAX Challenge

Valable pour CMSMS 2.x :
CMSMS modules and 'endless scrolling'

Par ailleurs, tu dois aussi avoir la possibilité de sauvegarder tes filtres de recherche produits dans un cookie.

Hors ligne

#3 13/04/2018 23:45:26

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Merci beaucoup pour toutes ces infos je vais essayer tout ça, je travaille encore sur le sujet, mais sans succès pour l'instant.

Concernant la suite E-commerce, je confirme qu'elle fonctionne très bien j'ai fais pas mal de site avec mais il est vrai que je n'avais pas eu l'occasion de tomber sur un site de vente en gros avec environs 800 produits nouveaux par jour, et ce problème d'ajout au panier est le dernier que je rencontre !

Concernant les filtres, j'ai gérer avec des formulaires Php au final, ça passe bien. Mais le fait que le client remonte tout en haut de la page à chaque ajout au panier (sachant que la grande majorité des clients mettent plusieurs dizaines d'articles différent au panier) ça coince.

Justement ce soir j'essayais de me tourner vers une autre approche du problème :

Dans le fichier du module Cart2 : "action.default.php" se trouve l'action du formulaire d'ajout au panier qui redirige vers la page actuelle avec l'option : cge_url::current_url()
Mon idée était de faire en sorte que dès que la page se recharge, elle retourne à l'id du submit où le clique à eu lieu avec la variable {$submitname} ou {$formstart} (un liens sur une ancre en gros) mais pour le moment sans succès (je ne parviens pas à trouver la bonne syntaxe).


Si je trouve quelque chose qui fonctionne, je le posterai ici.

Hors ligne

#4 16/04/2018 12:32:28

cyrcle
Membre
Inscription : 04/01/2017
Messages : 41

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Salut,
Regarde aussi le module CGSimpleSmarty.
Tu dois pouvoir envoyer ton ajout au panier en Ajax en utilisant {module_action_url} ou {module_action_link}.
Tiens-nous au courant.

Hors ligne

#5 23/08/2018 22:02:20

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bien le bonsoir !

Après plusieurs mois de recherche et bien ... Je sèche toujours !

Je n'arrive absolument pas à faire fonctionner l'ajout au panier sans rechargement.

Du coup, pour essayer de contourner les problèmes liés au rechargement de page, j'ai cherché à utiliser les Session_start et Setcookie pour les recheches + les "options" panier. (des options sous forme de textes, juste de l'information visuel)

En soit, ça fonctionne super, sauf que ... Dès que je clique sur le bouton "add to cart" mes $_session disparaissent (mais pas l'ID !) et de même pour mes cookies ...

Quelqu'un aurait-il une idée du pourquoi le module CART2 m'en veut autant ?

PS : Bien entendu, la solution serait de mettre les options après les ajouts au paniers, mais malheureusement, les options choisis par le client amène vers des type de "boutiques différentes" ...

L'ajout au panier semble faire sauter tout ce que je mets en place, le bougre !

En vous remerciant par avance.

Hors ligne

#6 24/08/2018 09:15:25

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 211
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bonjour,

Comme l'a proposé cyrcle, as-tu tenté de poster le formulaire d'ajout au panier en ajax ?

Hors ligne

#7 24/08/2018 10:02:53

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bonjour et encore merci pour ce retour,

Oui mais sans succès, mais je m'y suis sûrement mal prit c'est pas impossible du tout.

{module_action_url module='Cart2' action='default' forajax='1'}

J'ai tenté dans le template "add to cart" dans les "Balises Smarty spécifiques" de la page.

Pour être honnête, je n'ai pas forcément tout compris sur l'utilisation, je n'ai trouvé que très peu de documentation (d'ailleurs, si vous avez une documentation là dessus, je suis preneur).


Encore merci pour votre aide.

Hors ligne

#8 24/08/2018 10:39:38

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 211
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Sur le principe, ce n'est pas lié au module ou au CMS : il faut sérialiser les données du forum puis poster le tout grâce à $.ajax ou $.post en JS - je t'invite à te documenter sur ces fonctions et à lier le tout à l'évènement "submit" du formulaire d'ajout au panier wink

Il est plus simple de te donner des pistes car solutionner spécifique ton problème demanderai une analyse plus spécifique de ton code, ton site, etc..

Si tu as la solution, poste-nous le tout ici wink

Hors ligne

#9 24/08/2018 10:59:15

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Les pistes me conviennent parfaitement !

C'est sûrement pour ça que je n'ai pas réussi, je ne couplais pas le tout.

Mais si "j'assemble" les {module_action_url} avec un code de ce genre

[== JS ==]
function ajoutPanierAjax() {  
  $('.ajout-panier form').on( "submit", function( event ) {
    event.preventDefault();
    var posturl = $(this).attr("action") + "&showtemplate=false";  
    var postdata = $(this).serialize();

    $.post(posturl,postdata,function() { 

      updateCart(); 
    }); 
  }); 
}

Ca devrait pouvoir le faire, je test tout ça !

Hors ligne

#10 01/09/2018 23:19:11

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bonsoir à tous

j'avance tout doucement grâce à vos conseils et vous en remercie

Je peux à présent poster des liens, voici le site pour mes test AJAX !

http://dev-site-am.fr/clients/fleurassi … boutalogue

edit : voici un accès pour tester si besoin -
user :99999
mdp : testcms


Donc, concrètement, j'ai "réussi" à faire fonctionner l'ajout au panier en AJAX, mais pour une raison que j'ignore (et j'avoue que je tourne encore en rond) le paramètre &showtemplate=false n'est pas prit en compte !
Le produit s'ajoute bien au panier, mais il rajoute tout le template autour et il faut que j'actualise ma page pour voir la panier correctement (mais au moins, je conserve mes $_session et cookies !

Voici une partie du code utilisé (récupéré grâce à CMSCanBeSimple !) il faut encore quelques adaptations:

[== JavaScript ==]
function ajoutPanierAjax() {
        var pQuote = document.getElementById('tableau-boutalogue').getElementsByTagName('form')[0];
        pQuote.action = window.location.href+'&showtemplate=false';

        pQuote.onsubmit =  function(e){
        var data = serialize(pQuote);
        var r = new XMLHttpRequest();

        r.onreadystatechange = function(){
                if (r.readyState == 4 && r.status == 200) {
                        showResponse(r.responseText);
                }
        }
        r.open('POST', window.location.href+'&showtemplate=false');
        r.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        r.send(data);

                e.preventDefault();
        }

        function showResponse(r) {
                var respDiv = document.getElementById('panier-ajax');
                respDiv.innerHTML = r;
                addClass(respDiv, 'active');
                setTimeout(function(){
                        removeClass(respDiv, 'active');
                },5000);
        }
}

ajoutPanierAjax ();

Une idée du pourquoi le &showtemplate=false ne fonctionne pas ?

Merci d'avance.

Dernière modification par SwBd (01/09/2018 23:44:10)

Hors ligne

#11 03/09/2018 09:46:22

Eric11
Membre
Lieu : Carcassonne
Inscription : 09/04/2011
Messages : 159
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Bonjour,

Avec

[== Javascript ==]
&showtemplate="false" 

peut-être.


EricFreelance - Design, intégration et développement de sites internet.

Hors ligne

#12 03/09/2018 09:49:49

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 211
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

A mon avis c'est une erreur de caractère dans la Query string - il faut utiliser le "?" :

'?showtemplate=false';

Attention aussi car le window.location.href peut t'induire en erreur si ton returnid d'action de formulaire n'est pas sur la même page.

Teste et dis-nous wink

Hors ligne

#13 03/09/2018 11:05:49

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

l'action de mon formulaire se trouve bien sur la même page (j'ai forcé avec le paramètre destpage du module cart2 au cas où)

Et que ce soit le ? ou le & (c'est la première chose que j'ai testé) ça me fait la même, j'ai l'impression qui ne me prend pas du tout en compte l'option.

Quand je regarde mes logs, il ne me prend pas du tout en compte le &showtemplate=false

finished loading: GET "http://dev-site-am.fr/clients/fleurassi … boutalogue".


Je vais voir si je peux pas contourner en utilisant autre chose que le window.location.href


Je vous tiens au courant !

Hors ligne

#14 03/09/2018 12:22:30

Eric11
Membre
Lieu : Carcassonne
Inscription : 09/04/2011
Messages : 159
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Ce que j'utilise et qui ne me pose pas de soucis :

[== JavaScript ==]
$('#myform').on('submit', function(event) {
var href = window.location.href;
var params = "{\"disable_theme\":true,\"showtemplate\":\"false\"";
// suite params ...
params += "}";

data = jQuery.parseJSON(params);

EricFreelance - Design, intégration et développement de sites internet.

Hors ligne

#15 03/09/2018 12:24:59

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 695
Site Web

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Et ceci ?

[== Indéfini ==]
window.location.search = "showtemplate=false";
pQuote.action = window.location.href;
...
r.open('POST', window.location.href);

Dernière modification par Jean le Chauve (03/09/2018 12:34:55)

Hors ligne

#16 04/09/2018 12:10:42

SwBd
Membre
Inscription : 06/09/2017
Messages : 20

Re : CMSMS 2.2.7 - E-commerce - Module CART2 - Rechargement page

Je vous remercie, je test tout ça !

Hors ligne

Pied de page des forums