Flux d’activité

Flux d’activité de Messages

  1. ant0ny


    Bonjour, 

     

    Depuis aujourd'hui impossible de faire un upload d'image sur article (déjà créer ou nouveau).

    j'ai le message "La récupération du contenu du fichier a échoué" à chaque fois et j'ai pourtant aussi essayer avec une image mise la semaine dernière et qui était prise.

    J'ai pas fait de modification ftp pourtant.

    J'ai sonné chez OVH pour voir de leur coté si il y avais eu une modification de php mais non, nous avons essayé de passé sur la dernière version php stable mais cela n'a pas résolu le soucis, on a fait une restauration du ftp de une semaine, aucun résultat.

    Ensuite j'ai remarqué que sur un autre site sur le même hébergeur cela fonctionné toujours et je suis tomber sur la variable used_uploader que j'ai passé de fineuploader à standard.

    Passé en standard règle le problème, les image sont bien uploader mais c'est très moche.

    Si vous avez une idée je prend car perso je ne vois pas comment ça peut fonctionner la semaine dernière et pas aujourd'hui sans avoir fait de changement sur le site à part les action classique de commande, d'ajout suppression d'article, de promo, etc... qui reste des modification en BDD.

     

    Ha oui je suis sur la version 7.2.0 premium

    Merci ;)


  2. Bonjour,

    Dans un premier temps il faut récupérer l'id du produit créé. Dans la fonction insere_produit dans le fichier administrer/produits.php il faut ajouter

    $GLOBALS['last_created_product_id'] = $product_id;

    sous la ligne 1301 (pour une version 8.0.2)

    $product_id = insert_id();

    Ensuite il faut modifier le code qui se trouve dans le case "insere" et ajouter le code

                if(!empty($_POST['stay_on_page'])) {
                    $output .= affiche_formulaire_modif_produit($GLOBALS['last_created_product_id'], $frm);
                } else {
                    $output .= affiche_liste_produits(array());
                }

    au niveau de la ligne 153 du fichier administrer/produits.php (sur une version 8.0.2)

  3. djespace


    Bonjour

    Je cherche a ajouter une information de date de livraison sur mes pages produit, en dessous de l'affichage de l'état de stock.
    J'ai un script php avec plusieurs fonctions qui fonctionne bien mais il me faut maintenant l'intégrer à peel (je suis sur une 7.0.0)

    J'ai ajouter mon code dans display_product.php, créé un tpl->assign avec une variable à utiliser ensuite dans critere_stock.tpl
    mais j'ai désormais une erreur fatal : 
    Fatal error: Call to undefined function addOpenDays() in /home/www/ledsboutique/lib/fonctions/display_product.php on line 787

    comment définir cette fonction ?
    Suis-je sur la bonne piste ? ou est-ce que j'ai tout faux ?
    Est-ce juste que je ne place pas les code au bons endroits ?

     

    Voici le script : 

    function addOpenDays($startDate, $daysNumber = 0) {
        if (isset($startDate) && !is_null($startDate)) {
            $startDate = (is_string($startDate)) ? strtotime($startDate) : $startDate;
    
            $year     = 0;
            $holidays = array();
    
            $date = $startDate;
    
            for ($i = $daysNumber; $i > 0; $i--) {
                if ($year != date('Y', $date)) {
                    $year     = date('Y', $date);
                    $holidays = getHolidays($year);
                }
    
                while (!isOpenDay($date) || isHoliday($date, $holidays)) {
                    $date = strtotime(date('Y-m-d', $date) . ' + 1 days');
                }
    
                $date = strtotime(date('Y-m-d', $date) . ' + 1 days');
            }
    
            while (!isOpenDay($date) || isHoliday($date, $holidays)) {
                $date = strtotime(date('Y-m-d', $date) . ' + 1 days');
            }
        }
    
        return strtotime(date('Y-m-d', $date));
    }
    
    // Get all holidays for a given year
    function getHolidays($year) {
        // Holidays array
        $holidays = array();
    
        if (isset($year) && !is_null($year) && $year > 1970) {
    
            // List of basic known holidays
            $holidays[] = '1_1_' . $year; // New year day
            $holidays[] = '1_5_' . $year; // Fête du travail
            $holidays[] = '8_5_' . $year; // Victoire 1945
            $holidays[] = '14_7_' . $year; // Fête nationale
            $holidays[] = '15_8_' . $year; // Assomption
            $holidays[] = '1_11_' . $year; // Toussaint
            $holidays[] = '11_11_' . $year; // Armistice 1918
            $holidays[] = '25_12_' . $year; // Christmas
    
            // Get the easter date
            $easter = easter_date($year);
    
            // From the easter date, when can compute le jour de l'ascension and pentecôte
            $holidays[] = date('j_n_' . $year, $easter + 86400); // Easter
            $holidays[] = date('j_n_' . $year, $easter + (86400 * 39)); // Ascension
            $holidays[] = date('j_n_' . $year, $easter + (86400 * 50)); // Pentecôte
        }
    
        return $holidays;
    }
    
    // Check if a given date is holiday
    function isHoliday($date, $holidays = null) {
        if (isset($date) && !is_null($date)) {
            $date = (is_string($date)) ? strtotime($date) : $date;
    
            $holidays = (!isset($holidays) || is_null($holidays)) ? getHolidays(date('Y', $date)) : $holidays;
    
            if (isset($holidays) && !is_null($holidays)) {
                return in_array(date('j_n_' . date('Y', $date), $date), $holidays);
            }
        }
    
        return false;
    }
    
    // Check if a given day is an open day
    function isOpenDay($date) {
        if (isset($date) && !is_null($date)) {
            $date = (is_string($date)) ? strtotime($date) : $date;
    
            return !in_array(date('w', $date), array(0, 6));
        }
    
        return false;
    }
    
    // Selection de la langue
    setlocale(LC_TIME, 'fr_FR'); // fr_FR pour le français

     

    Voici ma ligne d'assignation de la variable pour le tpl :

    $tpl->assign('affiche_date_livraison', strftime('%A %e %B %Y', addOpenDays(date('Y-m-d'), 3));

    Et donc j'utilise la variable {$affiche_date_livraison} dans le fichier .tpl

    Merci  de votre aide.

    François.
     

  4. Simon développeur PEEL


    Bonjour,

    La première option "Sélectionnez une période " est considéré comme une option d'attribut, donc l'ajout au panier est autorisé. Ce qu'il faut faire dans votre cas c'est de modifier la génération des options d'attribut pour ajouter une option "Sélectionnez une période " avec une valeur vide. Cela nécessite de modifier le code, dans la page d'affichage des attributs attributs_form_part.tpl

  5. Simon développeur PEEL


    Bonjour,

    pour ajouter un bouton pour rester sur la page après une modification, vous devez ajouter un bouton

    <input type="submit" class="btn btn-primary" value="Ajouter ce produit sans quitter" name="stay_on_page"  /> 

    Il faut mettre ce bouton à coté du bouton de validation.

    Ensuite dans le case "maj" : au début de la page, vers la ligne 196 sur une version 8.0.2 il faut remplacer la ligne

                $output .= affiche_liste_produits($frm);

    par

    			if(!empty($_POST['stay_on_page'])) {
    			  $output .= affiche_formulaire_modif_produit($frm['id'], $frm);
    			} else {
    			   $output .= affiche_liste_produits($frm);
    			}

     

  6. phs


    Bonjour,

    Voici mon problème de manière plus détaillée :

    J'ai créé un attribut nommé "Période" pour lequel j'ai coché "obligatoire" + "Attribut en liste d'options" + "Menu sélect".

    Cet attribut est composé de 13 options pour lesquelles j'ai coché "obligatoire".

    La 1ère option est appelée "Sélectionnez une période :" et les 12 autres correspondent aux 12 mois de l'année (01 - Janvier, 02 - Février, etc.).

    J'ai associé l'attribut "Période" à un produit.

    Dans la fiche produit, la 1ère des options est proposée par défaut, à savoir "Sélectionnez une période :"

    Si je fais un achat sans préciser une période (à savoir un des 12 mois), le panier contient le produit avec l'option "Sélectionnez une période :"

    Peut-être ai-je manqué une étape dans le paramétrage ?

    Merci de votre collaboration.

    Philippe

  7. neomega


    bonjour,

     

    quant on crée un produits une foi fini on clique sur  le bouton "Ajouter ce produit" qui nous rediriger vers liste des produits

     

    serai t'il possible d'ajouter un bouton "ajouter ce produits sans quitter"  et donc rester dans la fiche produit

     

    et ainsi j'ajouterai le code 

     

    {if $id != 0}
         <a href="{$wwwroot}/administrer/produits.php?mode=duplicate&id={$id}&page=1" target="_blank" >Dupliquer ce produit</a>
    {/if}

    ce qui permettra de dupliquer un produits sans quitter la fiche d'origine

     

    en ajoutant aussi ce code qui permet de dupliquer un produits et y entrer directement sans retourné dans la liste des produits  " CODE fournis par Simon " :

    Dans le fichier administrer/produits.php, il faut modifier au niveau du case "duplicate" en remplaçant

    duplicate_product(intval($_GET['id']));
    par
    $product_id = duplicate_product(intval($_GET['id']));

    et remplacer la ligne
            $output .= affiche_liste_produits($_GET);
    par
          $output .= affiche_formulaire_modif_produit(vn($product_id), $frm);

     

    donc au final un gain de temps énorme pour la création de produits

     

  8. Simon développeur PEEL


    Bonjour,

    Le problème n'est pas reproductible sur une version 8.0.2. J'ai fait un test avec une option de type "texte libre" que j'ai associé à un produit. Ensuite j'ai voulu ajouter ce produit au panier sans remplir le champ texte libre. J'ai bien eu un message m'avertissant que le champ était obligatoire, et le produit n'a pas été ajouté au panier. Avec quelle configuration d'option avez-vous un problème ?

  9. Simon développeur PEEL


    Bonjour,

    Dans le fichier administrer/produits.php, il faut modifier au niveau du case "duplicate" en remplaçant

    duplicate_product(intval($_GET['id']));
    par
    $product_id = duplicate_product(intval($_GET['id']));

    et remplacer la ligne
            $output .= affiche_liste_produits($_GET);
    par
          $output .= affiche_formulaire_modif_produit(vn($product_id), $frm);

  10. neomega


    il suffit d'ajouter dans modelés /mon modeles/fonction/ display_custom.php

     

    /********************************************************************************************************************************/
    /*************************************************** AFFICHER LE NOMBRE DE PRODUIT *******************************************/
    /********************************************************************************************************************************/
    function count_products (){
        $sql = 'SELECT COUNT(*) AS this_count
                    FROM peel_produits
                    WHERE  etat=1 ';
                $query = query($sql);
                if ($this_count = fetch_assoc($query)) {
                $results_count = $this_count['this_count'];
            } else {
                $results_count = null;
            }
                
                return $results_count;
        
    }

    puis dans par exemple modelés /mon modeles/  haut.php

     

    $tpl->assign('compteur_products', count_products('output'));

     

    et de mettre dans modelés /mon modeles/ smarty/ haut.tpl

     

    {$compteur_products}

    avec la mise en forme que vous souhaitez

  11. J1P


    Bonjour,

    une autre petite question sur ce moteur de recherche dans l'admin (je suis sous version 6.2), si on veut faire une recherche globale sur tous les utilisateurs, on ne selectionne aucun profil mais l'admin apparait dans ce listing, peut-on ne pas faire apparaitre l'admin dans ce listing ? Mon but etant de donner l'acces a des redacteurs qui peuvent chercher n'importe quel utilisateur mais ils ne devraient pas pouvoir voir ou modifier les admin.

    Merci de votre soutien

Twitter Advisto ecommerce

Facebook PEEL Shopping