Flux d’activité

Flux d’activité de Messages

  1. anceze


    Bonjour.

    Je reprends le sous-sujet annoncé dans mon poste sur la 2eme BDD.

    J'ai vérifié avec un PEEL non modifié.

     

    Le bug en question porte sur le prix des options unique d'attribut.

    Ces options unique s'affichent en tant qu'information sous la description dans produit_détails.

    Le prix annoncé compte bien le cumul de prix des options uniques + les options à choisir + le prix du produit de base.

    Mais une fois dans le panier les options de prix unique ne sont pas comptabilisés.

    Il y a une différence entre le prix das la liste des prouits et le produit détail; avec celui annoncé dans le panier.

     

    La solution de fortune consiste à faire le calcul soit même pour chaque produit et d'ajouter ce prix au prix initial du produit.

    Ca cause un conflit quand on a des produits qui ont besoin de cette option sans qu'elle soit unique et en tant qu'option unique pour d'autres produits.

    Cela veut dire crée deux fois la même option, une fois avec un prix et une fois sans.

    Pour celles sans prix il faut ajouter ce prix au prix de base du produit s'il la prend en charge.

    C'est un peu laborieux et ca ne ressemble pas à PEEL.

     

    C'est surtout pour vous informer du bug mais si vous avez une solution de correction des codes je suis preneur.

    Bonne journée

  2. anceze


    Je n'y arrive toujours pas.

    Voilà ce que j'ai fais :

     

    lib/class/product

    var $description_seule = null;
    var $attributs_options_unique = null;

    à la suite de (139)

    var $site_id = null;

     

    lib/class/product

        $description_seule =  String::html_entity_decode_if_needed($this->description);
        $attributs_options_unique = $extra_description;
        correct_output($this->$description_seule, true, 'html', $lang);
    

    à la suite de (336)

    						$this->attributes_with_single_options_array[$this_options_infos['technical_code']] = array('nom'=>$this_options_infos['nom'],'descriptif'=>$this_options_infos['descriptif']);
    					}
    				}
    			}

     

    li/fonctions/display_product

                $tpl->assign('description_seule', $product_object->description_seule);      
                $tpl->assign('attributs_options_unique', $product_object->attributs_options_unique);  

     

    à la suite de (301)

                $tpl->assign('description', $description);

     

    modele/peel7/smarty/produit_details.html.tpl

        {if !empty($description_seule)}<div>{$description_seule}</div>{/if} 
    
    //aucun ne s'affiche
    

    à la suite de

            <div class="description" property="description">
    				{if !empty($descriptif)}<p>{$descriptif}</p>{/if}
    				{if !empty($description)}<div>{$description}</div>{/if}

     


  3. Bonjour,

    Pour la classe Product il faut définir des nouvelles variables pour la classe, en ajoutant

    var $description_seule = null;
    var $attributs_options_unique = null;

    sous les variables déjà présentes vers la ligne 140 du fichier lib/Class/Product.php. Ensuite il faut faire

    $this->description_seule = $description_seule;
    $this->attributs_options_unique = $attributs_options_unique;

    à l'endroit où sont défini les variables dans la classe. Après ça vous pouvez utiliser $product_object->description_seule et $product_object->attributs_options_unique dans le fichier  lib/fonction/display_product.php

    Pour utiliser les variables dans le fichier tpl, il faut utiliser la fonction $tpl->assign(). Par exemple pour le fichier produit_details_html.tpl il faut modifier la fonction get_produit_details_html du fichier lib/fonctions/display_product.php et faire $tpl->assign('ma_variable_smarty',"valeur"); Ensuite dans le fichier tpl, il faut placer {$ma_variable_smarty} à l'endroit souhaité.

  4. anceze


    Bonjour.

     

    Je voulais installer un 2 eme peel de test pour vérifier certains bugs sur mon PEEL modifié face à un PEEL non modifié.

    Mon serveur sql contient deux bases de données mais votre installateur ne me demande pas quelle base je veux utiliser.

    Comment faire ?

     

    Sous-sujet :

    Le bug en question est le prix des options unique d'attribut.

    Etant unique les options s'affichent en tant qu'information sous la description dans produit_détails.

    Le prix annoncé compte bien le cumul de prix des options uniques + les options à choisir + le prix du produit de base.

    Mais une fois dans le panier les options de prix unique ne sont pas comptabilisés.

    Sans tester avec un PEEL non modifié je ne peux pas affirmer que ce n'est pas mes modifications qui cause le problème.

     

    Bonnes journées

  5. anceze


    Pour faire simple :

     

    Pour ne pas casser le code brutalement, ce qui causerai des erreur dans d'autres pages;

    Je dois créer 2 nouvelles variable.

    - $description_seule

    - $attributs_options_unique

     

    je n'arrive pas à transmettre une variable entre les différentes pages.

    De lib/class/product.php

    à -> lib/fonction/display_product.php (ligne +/- 334)

    à -> modele/peel7/smarty/product_details.html.php (ligne +/- 298)

     

    Je parviens à isoler ceux deux éléments et à leur donner un variable différente à chacun;

    Mais je n'arrive pas à créer le lien qui va les rendre lisible dans le template.

     

    Bonne journée

  6. anceze


    Merci, j'avance au ralenti mais j'avance.

    Info :

    Dans lib/class/Product.php

    La ligne :

     

    // On ajoute à la description les attributs à options uniques, puisque ces attributs ne seront pas sélectionnables par ailleurs (car rien à sélectionner)

    Devrait être affichée quelques lignes plus haut :

    Juste avant

    	if (empty($GLOBALS['site_parameters']['display_extra_product_description_mode']) || $GLOBALS['site_parameters']['display_extra_product_description_mode']=='after') {
    				$this->description = String::html_entity_decode_if_needed($this->description) .'<br />'. $extra_description;
    			} elseif ($GLOBALS['site_parameters']['display_extra_product_description_mode']=='before') {
    				$this->description = $extra_description .'<br />'. String::html_entity_decode_if_needed($this->description);
    			}

     

  7. Simon développeur PEEL


    Bonjour,

    Avez-vous désactivé la minification des fichiers css via la variable de configuration minify_css ? Cela vous permettra de travailler le fichier screen.css plus facilement car ce fichier est mis en cache sur PEEL.Une fois cette modification faite, vous pouvez également vider le cache de votre navigateur et rafraichir la page. A la fin de vos travaux vous pouvez remettre ce paramètre à true, car la minification des fichiers CSS est une optimisation efficace pour accélérer le chargement des pages.

  8. anceze


    Bonjour.

    Sur PEEL Shopping 8

    Les attributs avec une seule option s'affichent sous forme d'information à la suite de la description.

    Malheureusement la mise en page est faite en php et pas dans le tpl.

    Je suppose  que c'est dans li/fonctions/display_product.php

    J'ai trouvé une occurrences lignes +/- 294

    		} else {
    						$description = str_replace("\n", '<br />', display_option_image(vb($result['nom_attribut']), true));
    					}

    Pour le moment je reste coincé pour les dissocier.

    Je tente de trouver à quel moment couper le code pour arrêter $description à la description du produit

    et continuer avec une nouvelle variable $desc_attribut (par exemple) qui affichera la liste des attributs à option unique.

     

    Bonne journée

     

     

  9. anceze


    Bon...

     

    Gros souci de mise à jour;

    Exemple concret :

    - Je supprime tout le contenu de screen.css

    - Je fait une modif dans haut.tpl

     

    Je place les deux fichiers.

    La modification de haut.php est visible

    mais quoi que je fasse dans screen.php rien ne se passe.

     

    Sauf si je supprime le fichier du serveur.

    Je suppose que c'est une histoire de proxy mais je ne comprend pas pourquoi il met à jour le tpl et pas le css :(

     

    Je n'ai aucune solution

  10. Simon développeur PEEL


    Bonjour,

    Pour savoir quelle classe CSS s'applique sur un élément HTML, vous pouvez utiliser un outil comme firebug sur Firefox (ou appuyer sur F12 sur Chrome) qui permet de cibler un élément HTML sur la page, et de lister les règles CSS qui s'applique sur l'élément choisi.

    En l’occurrence les classes CSS qui semble correspondre à ce que vous souhaitez sont :

    .nav-list > li.active > a,
    .nav-list > li.open > a,
    .nav-list > li > a:hover,
    .nav-list > li > a:focus {
        color: #C16D00 !important;
        background-color: #FFFFFF !important;
    }
    .navbar .nav > li.active > a,
    .navbar .nav > li.open > a,
    .navbar .nav > li > a:hover,
    .navbar .nav > li > a:focus {
        color: #C16D00 !important;
        background-color: #FFFFFF !important;
        border: 0px solid transparent;
        border-color: #AAAAAA #AAAAAA #FFFFFF #AAAAAA;
    } 

    => Elles sont défini dans le fichier modeles/peel7/css/screen.css vers la ligne 546.

    A vous de modifier ces classes comme vous le souhaitez.

    Par ailleurs afin de simplifier les modifications du fichier css, vous pouvez désactiver la minification des fichiers css en modifiant la valeur de la variable minify_css en passant de true à false. Cette variable de configuration est modifiable depuis la page administrer/configuration.php

  11. anceze


    Bonjour.

     

    Après de nombreuses recherche je ne sais pas où je dois aller pour modifier la couleur de fond de la partie active du menu.

    (home, catégorie 1, catégorie2, etc.

     

    Au lancement le menu est actif sur l'icon home sur fond blanc.

    Je veux une autre couleur de fond.

    Mais je ne veux pas changer le fond du survol onmouseover.

     

    Si vous pouviez me dire quoi chercher.

    Bonne journée

  12. anceze


    C'est ce que j'ai essayé de faire mais ca ne me permet pas pour autant d'accéder à la bdd.

    Avec vos lignes de codes je devrais donc être connecté à la BDD mais ce n'est pas le cas.

    Par contre si je fais la même chose avec une connexion à la bdd par moi même ça marche.

     

    Avec ceci :

    define('IN_PEEL_ADMIN', true);
    include("../configuration.inc.php");
    necessite_identification();
    
      $sql = 'SELECT nom_fr FROM peel_produits WHERE id = "1"';
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      $data = mysql_fetch_array($req);
    
    	mysql_free_result ($req);
    	mysql_close ();
    
    	echo 'Le nom est : '.$data['nom_fr'];

    j'ai ceci :

    Warning: mysql_query(): No such file or directory in /web/chabaya/www/anceze/bordeauxphotographie/gourou/alpha2.php on line 27

    Warning: mysql_query(): A link to the server could not be established in /web/chabaya/www/anceze/bordeauxphotographie/gourou/alpha2.php on line 27
    Erreur SQL !
    SELECT nom_fr FROM peel_produits WHERE id = "1"
    No such file or directory

  13. Simon développeur PEEL


    Bonjour,

    Vous pouvez vous inspirez des autres pages d'administration pour voir comment c'est fait, une page simple comme administrer/cgv.php par exemple. Concrètement vous pouvez ajouter ces 3 lignes

    define('IN_PEEL_ADMIN', true);
    include("../configuration.inc.php");
    necessite_identification();

    au début de votre nouvelle page d'administration.

    define('IN_PEEL_ADMIN', true); permet de définir que vous êtes dans une page d'administration, c'est important notamment pour le fichier de config
    include("../configuration.inc.php"); permet d'inclure toute la configuration de PEEL, notamment la connexion à la base de données.
    necessite_identification(); vérifie les droits d'accès à la page.

  14. anceze


    Bonjour.

     

    Création d'une nouvelle page d'admin avec codes personnalisées.

    Page administrer/admin_perso.php

     

    Problème 1 : Base de donnée

    Actuellement partant de zéro je lance la connexion  à la base de donnée de manière peu sécurisé.

    J'aimerai savoir comment exploiter la configuration de PEEL pour ne pas afficher mes codes d'accès dans cette nouvelle page PHP.

     

    Bonne journée

     

     

Twitter Advisto ecommerce

Facebook PEEL Shopping