Flux d’activité

Flux d’activité de Messages

  1. carcy


    Bonjour à tous !

     

    Juste pour info et aider la communauté au cas ou.

    J'avais un bug ! le client avait beau cliquer sur le bouton pour valider sa commande après avoir rentré un code promotionnel, la commande ne voulait pas se valider.

    La page tournait en boucle.

    Ceci est résolu en passant à la version 7.1.4 de Peel shopping (j'étais en version 7.1.1).

    Désolé Simon de vous avoir embêté :) ;) :P :D

     

    Bon peel à toutes et à tous !

     

    Jean-Luc

     

  2. carcy


    Bonjour à tous

     

    L'en tête de mon site comporte une image bêtement appelée header.jpg, que j'ai introduit dans la fonction modeles/peel7/css/screen.css :

     

    @media screen {
    	html, body {
    	height: 100%;
    	background-color: transparent;
    	background-image: url(../images/header.jpg);
    	background-repeat: no-repeat;
    	background-position:center top;
    	}
    

    c'est pas mal !!

    MAIS j'aimerai maintenant et temporairement, afficher en haut de page grâce à la zone html personnalisée, une publicité de la forme d'un bandeau bleu dans lequel serait inscrit

    "10% de remise sur tout le site grâce au code promotionnel ANNIVJLTV".

    Une fois activé, ce bandeau fonctionne ç la perfection et s'affiche tout en haut de page, dans le header .

    TOUTE la page descend donc (menus, espace de connection, choix des langues, de la devise etc.

    SAUF mon image !!!! et du coup, le bandeau s'affiche sur l'image et les pavés de sélection descendent également sur l'image comme on peut le voir sur le screen suivant :

     

     

    header2.jpg

     

    existe t'il un moyen simple de faire en sorte que mon header.jpg descende également avec tout le reste lorsque ce bandeau est affiché ? (dans le css peut être ?)

     

    merci pour vos tuyaux !!

     

    Jean-Luc

     

  3. troc


    Bonjour Simon

     

    Je récapitule la fonction alerte stock

     

    Je révisé l’ensemble des fichiers

     

    1° ) Dans stock_avanded\fonctions.php

     

    Le code dans le fichier est identique à celui que vous avez mis dans ce topic

    J’ajouté la fonction die(‘insère alerte’) mais ça n’est pas fonctionné

     

    2° ) dans achat produit_details.php

     

    Le bloc de code est identique à celui que vous mentionnez dans le topic

    La requête SQL d’insertion ne part pas vers la BDD

     

    la table peel_alertes est vide chez l’hébergeur

     

    Si un utilisateur utilise le mail pour être prévenu le mail n’est pas enregistré,

    donc l’admin n’a pas connaissance de la demande du client dans le menu Ventes \Liste des alertes en cours

     

    Par contre à chaque fois qu’il y a une rupture de stock on reçoit un mail

     

    Si cette fonction fonctionne parfaitement sur la version 7.1.4

     

    Sur la version 7.0.3 ne fonctionne pas, (pour le moment bien sûr)

     

    Je déduis qu’étant donné le module stock à été ajouter après l’installation, il se pourrait qu’une erreur est survenue lors de l’ajout du PREMIUM

     

    Deux questions :

     

     Le htacess pourrait empêcher le fonctionnement ?

     

    les droits d’accès d’attributs pour les fichiers en question est a  604 lire, écrire, mais pas exécuter ?

     

    Etant pas un spécialiste de la programmation je cherche à comprendre et à faire fonctionner cette fonction.

     

    Merci pour votre aide

     

    Cordialement

    Franck

  4. Simon développeur PEEL


    Bonjour,

     

    Sur PEEL vous pouvez utiliser la fonction String::str_shorten qui permet de tronquer un texte, plusieurs paramètres sont possible pour tronquer le texte à l'endroit souhaité. Vous pouvez utiliser cette fonction dans les fichiers PHP, ou dans les fichiers tpl.

    Vous pouvez vous inspirez des appels existants de cette fonction pour l'utiliser de la façon qui vous convient.

  5. ked


    Bonjour,

     

    je sais qu'il existe dans Prestashop une fonction troncate pour que les petits descriptifs qui se trouve sous l'image des produits dans la page d'accueil ou dans les pages catégorie limite l'affichage a X caractère tout en gardant le texte complet pour les moteur de recherche.
    cela permettra au produits de garder un alignement sur les pages afin que le visuel soit propre pour éviter les décallage.

     

    est ce que cette fonction existe dans peel V 7.1x et si non, comment pouvons mettre en place cette amélioration?

    Depuis une des pages tpl?

     

    Merci d'avance pour votre aide.

  6. ked


    Bonjour,

     

    je reviens sur ce bug du BO.

    Donc plus précisement, j'obtient le bug suivant lorsqu'un client passe commande depuis le site anglais (pour info j'ai un nom de domaine en .co.uk que j'ai renseigner dans la partie langue du BO).

     

    Lorsque j'effectue une modification de statut de la commande par exemple en mettant le statut "annulé" ou expédiée, alors le pays de facturation et livraison change automatiquement pour passer sur le premier pays de la liste (Allemagne en l'occurence) et le montant de la commande passe en H.T ou lieu de TTC...

     

    Impossible de comprendre d'ou vient se bug, mais cela ne se produit qu'avec les commandes passé sur mon site .co.uk

     

    Merci d'avance

  7. Simon développeur PEEL


    Bonjour,

     

    Le bloc de code qui enregistre les alertes stocks est :

    if ((isset($_POST["validate"]))) { // si on valide le formulaire d'info stock
        $form_error_object->valide_form($_POST,
            array('email' => $GLOBALS['STR_ERR_EMAIL']));
        if (!$form_error_object->has_error('email')) {
            $_POST['email'] = trim($_POST['email']);
            if (!EmailOK($_POST['email'])) {
                // si il y a un email on teste l'email
                $form_error_object->add('email', $GLOBALS['STR_ERR_EMAIL_BAD']);
            }
        }
        if (!$form_error_object->count()) {
            if (insere_alerte($_POST)) {
                $form_error_object->add('confirm_ok', $GLOBALS['STR_REQUEST_OK']);
            } else {
                $form_error_object->add('confirm_ko', $GLOBALS['STR_ERR_EMAIL_BAD']);
            }
        }
    }

    La requête SQL d’insertion de la demande de réassort est dans la fonction insere_alerte.

    Donc quand le formulaire est envoyé depuis une fiche produit, $_POST['validate'] doit être défini. Il y a ensuite une vérification sur l'adresse email renseigné, et si il n'y a pas d'erreur, la fonction insere_alerte est appelé avec les informations du formulaire en paramètre pour l'inserer dans la BDD.

    Tout cela fonctionne sur la 7.1.4, vous pouvez utiliser la fonction die(); pour savoir si vous passez dans les différentes conditions, jusqu'a la fonction insere_alerte.

  8. troc


    Bonjour Simon

     

    Je ne sais pas ce qu’il faut chercher comme défaut

     

    Voici un relevé du fichier produit_détails.php

    A partir de la ligne 48 à la fin du fichier

     

    // Insertion de la demande d'infos de stock
    $form_error_object = new FormError();
    if ((isset($_POST["validate"]))) { // si on valide le formulaire d'info stock
        $form_error_object->valide_form($_POST,
            array('email' => $GLOBALS['STR_ERR_EMAIL']));
        if (!$form_error_object->has_error('email')) {
            $_POST['email'] = trim($_POST['email']);
            if (!EmailOK($_POST['email'])) {
                // si il y a un email on teste l'email
                $form_error_object->add('email', $GLOBALS['STR_ERR_EMAIL_BAD']);
            }
        }
        if (!$form_error_object->count()) {
            if (insere_alerte($_POST)) {
                $form_error_object->add('confirm_ok', $GLOBALS['STR_REQUEST_OK']);
            } else {
                $form_error_object->add('confirm_ko', $GLOBALS['STR_ERR_EMAIL_BAD']);
            }
        }
    }

    // Gestion des erreurs de téléchargement des fichiers (cas d'attribut d'upload)
    if (!empty($_SESSION["session_display_popup"]["upload_error_text"])) {
        $form_error_object->add('upload_option_error', $_SESSION["session_display_popup"]["upload_error_text"]);
        // On vient d'afficher le message d'alerte de problème de téléchargement d'image, donc on le désactive pour l'avenir
        unset($_SESSION["session_display_popup"]["upload_error_text"]);
    }

    define('IN_CATALOGUE_PRODUIT', true);
    $GLOBALS['page_columns_count'] = $GLOBALS['site_parameters']['product_details_page_columns_count'];

    include($GLOBALS['repertoire_modele'] . "/haut.php");

    if ($form_error_object->count() > 0) {
        foreach ($form_error_object->error as $key => $error) {
            if ($key == "confirm_ok") {
                echo $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $error))->fetch();
            } else {
                echo $GLOBALS['tplEngine']->createTemplate('global_error.tpl', array('message' => $error))->fetch();
            }
        }
    }
    echo get_produit_details_html(intval($_GET['id']), intval(vb($_GET['cId'])));

    include($GLOBALS['repertoire_modele'] . "/bas.php");

    ?>

     

    cordialement

    Franck

  9. Simon développeur PEEL


    Bonjour,

     

    Autant pour moi, je n'ai pas indiqué le bon code. Il faut regarder dans la fonction get_products_list_brief_html du fichier lib/fonction/display_product.php. Il s'agit du morceau de code 

                $GLOBALS['meta_title'] = $page_title;
                foreach(explode(' ', $cat_infos['meta_titre']) as $this_word) {
                    if ((String::strlen($this_word)>=3 && String::strpos(String::strtolower(' '.$page_title.' '), String::strtolower(' '.$this_word.' ')) === false) && String::strlen($page_title . ' ' . $this_word) < 80) {
                        if(String::strpos($page_title, ' - ') === false) {
                            $page_title .= ' - ';
                        }
                        $page_title .= ' ' . $this_word;
                        $GLOBALS['meta_title'] .= ' ' . $this_word;
                    }
                }
  10. Simon développeur PEEL


    Bonjour,

     

    Tout d'abord je précise en introduction que le certificat HTTPS de votre site n'est aucunement relatif à PHP, et que le code PHP de votre boutique peut simplement savoir si l'appel est en HTTPS ou pas, et pas si votre certificat est considéré comme OK par un navigateur.
    Par ailleurs, lors d'un appel en HTTPS à votre site, la vérification du certificat se fait pas votre navigateur avant tout affichage de la page.
    On se situe donc à un niveau relatif au serveur web (apache ou autre) qui dépend entièrement de votre hébergeur et pas du tout de votre solution technique de site.

    Pour être plus complet sur le mode de fonctionnement de PEEL, en complément de mes précédents messages :
    - Si votre serveur est configuré pour accepter le https, un site PEEL est accessible en http et https par défaut. Si une page est vue en https, elle crée des liens en https vers d'autres pages.
    - Si vous mettez explicitement https dans info.inc.php, ça force le https et votre http redirige vers le https.
    Donc si vous voulez faire comme OVH vous le propose, vous remplacez simplement le https en http dans info.inc.php et ça fait fonctionner votre site en http au cas où vous le souhaitez.
    Ceci n'est aucunement une "solution" si votre certificat ne marche pas, dans le sens où les moteurs connaissent votre adresse en HTTPS si vous l'avez fait connaître en HTTPS et donc créent des liens vers vos URL en HTTPS.
    Si vous voulez faire connaître un site en HTTPS, il vous faut donc obligatoirement un certificat SSL qui fonctionne avec une bonne garantie de fiabilité.

  11. troc


    Bonjour

    Je suis désolé mais pouvez-vous préciser que entendez-vous pour réaliser gratuitement ?

     

    La version est gratuite chez PEEL  

    Après c’est à vous de modifier et d’adapter les divers fonctions du site a votre convenance.

     

    De ma part je tiens à dire que j’eu l’aide précieuse de l’équipe de PEEL

    Simon, Gilles et Sébastien sans eux je ne serais pas arrivé

     

    je reste a votre disposition pour d'autres renseignements

     

    Cordialement

    Franck

  12. ked


    Bonjour,

     

    j'ai reussi à régler le second point.

     

    Par contre concernant le point numero 1, voici le code que j'ai trouvé dans le fichier lib/function/display.php:

     

    if (!empty($GLOBALS['meta_title'])) {
    			$this_title = $GLOBALS['meta_title'];
    		} elseif (!empty($GLOBALS['DOC_TITLE'])) {
    			$this_title = $GLOBALS['DOC_TITLE'];
    		} elseif (!empty($m) && !empty($m['meta_titre'])) {
    			$this_title = $m['meta_titre'];
    		} elseif (!empty($m) && !empty($m['nom'])) {
    			$this_title = $m['nom'];
    		} elseif (!empty($m_peel_meta) && !empty($m_peel_meta['meta_titre'])) {
    			$this_title = $m_peel_meta['meta_titre'];
    		} elseif (!empty($m_peel_meta) && !empty($m_peel_meta['nom'])) {
    			$this_title = $m_peel_meta['nom'];
    		} elseif (!empty($GLOBALS['strSpecificMeta']['Title'][$page_name])) {
    			$this_title = $GLOBALS['strSpecificMeta']['Title'][$page_name];
    		} else {
    			$this_title = $m_default['meta_titre_' . $_SESSION['session_langue']];
    		}
    		$this_title = String::html_entity_decode($this_title);

    Mais impossible de voir quel code enlève les mots clés dupliqués... j'aurai besoin d'enlever cette fonction qui supprime les mots clé dupliqués.

     

    Merci

     

Twitter Advisto ecommerce

Facebook PEEL Shopping