Navigation

    aide prestashop

    PrestaHelp

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    1. Accueil
    2. herve_02
    • Profil
    • Abonnements
    • Abonnés
    • Sujets
    • Messages
    • Meilleur sujets
    • Groupes

    herve_02

    @herve_02

    1
    Réputation
    34
    Messages
    65
    Vues
    0
    Abonnés
    0
    Abonnements
    Inscrit Dernière connexion

    herve_02 S'abonner

    Messages postés par herve_02

    • la classe search

      Bon
      je n'ai peut être pas les yeux en face des trous... et parfois il y a des subtilités que je ne comprends pas (le truc des images, je ne suis pas d'accord sur le break, mais je relirais après 2 jours de calme).
      donc de ce que j'ai compris la classe search

      find(....) {
      blablabla

      1. ajout éola recherche sur les refs on cherche si le/les termes de recherches donnent qqchose sur les références
        ==> donne une liste de produits
        1b) ajouté par moi on fait la même chose recherche nom des fournisseurs si rien sur les refs
        ==> donne une liste de produit

      SI LISTE DE PRODUITS

      • SI AJAX -> une requête => return
      • sinon une autre requête => return
        (ce qui n'est pas idiot, on devrait pouvoir avec des résultats différents entre la recherche auto-complétive et le résultat sur la page)

      SI PAS LISTE DE PRODUITS (suite ref - et fournisseurs)
      travail sur les termes avec poids de recherche blablabla

      • SI AJAX -> une requête
        et une autre requête
        et une intersections que je ne comprends pas
        => donne liste de produits

      SI LISTE DE PRODUITS
      ---> Product::getProductsProperties(...) => return

      Pourquoi on ne peut pas faire un truc un peu plus simple du style

      1. recherche ref -> pool_result
      2. si pas 1 recherche fournisseurs -> pool_result
      3. si pas 2 recherche termes -> pool result
      4. recherche (pool_result) ==> return produits

      Ok, ce fonctionnement semble impliquer que si le chercheur veut trouver dans les termes qqchose qui est une référence, il n'aura que des références et pas le produits. ex j'ai une référence "rose" s'il cherche l livre "la rose" (qui n'a pas rose comme référence) c'est mort, mais j'ai l'impression que c'est déjà le cas.

      Le truc le plus "compliqué. on me demande de pouvoir trouver un livre sur son titre (impossible pour moi).
      par exemple si le livre "parcours du combattant" existe alors la recherche "parcours du combattant" ne doit donner que cette réponse MAIS s'il n'existe pas alors oui tout les titres qui ont combattant et/ou parcours doivent sortir. Dans le temps (il y a 20 ans) j'avais pour un de mes sites un trucs ressemblant avec la fonctionnalité search full text qui exist(ait?) dans mysql et qui donnait un indice de concordance (je n'ai pas lu le code qui déterminait l'indice de concordance) ainsi sans avoir fait de test, parce que autre temps, autres besoins.... je pense que "parcours du combattant" le livre serait sorti en bonne position, sinon en premier. (de mémoire il calculait la présence des mots dans les champs de recherche en pondérant par le nombre d'apparitions des mots dans tous les enregistrements ainsi si rose est présent que dans un seul enregistrement il avait un poids très fort et sir fleur était présent dans tous les enregistrements il avait un poids null)

      je n'ai pas de solutions, je ne fais que poser des questions qui soulevent plus de question encore. - on ne se refait pas.

      Autant rếver , le rếve est gratuit pour le moment, cela pourrait ouvrir à des insertions de blocs de recherche conditionnels, celui qui veut une recherche sur la marque il y a juste un bloc à ajouter (ou un switch de conf...) sans rien toucher d'autres.

      posté dans Bugs & Améliorations
      herve_02
    • RE: Images produit qui disparaissent

      @eolia
      moi si je ne fais pas enregistrer, elle "disparait" (je crois me souvenir, mais je ne manipule pas cette partie là) je me bats avec mondial relay et la livraison à domicile.

      posté dans Bugs & Améliorations
      herve_02
    • [resolu] Le module mondial relay 3.4.5

      je cherche à activer la livraison à domicile du module mondial relay.

      dans l'interface de configuration, il est demandé 4 infos (les 3 normales + culture api2)
      Cette 4ème info n'existe pas dans notre interface mondial relay et le tech (??? ) que j'ai eu par mail dit que cela n'existe pas. pourtant c'est bien la réponse de l'api mondial relay qui me dit qu'il manque cette info...

      <ShipmentCreationResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.org/Response">
      <StatusList>
      <Status Code="10003" Level="Critical error" Message="Une erreur générale est survenue lors de la vérification de la configuration. Vérifiez que le champ culture est bien rempli." />
      </StatusList>
      </ShipmentCreationResponse>
      

      quelqu'un sait où chercher ?

      LE CODE CULTURE EST ( pour la france au moins ??) fr-FR, trouvé ici

      https://www.mondialrelay.be/media/68250/mondial-relay-web-api.rar

      includes/MondialRelay.API.Class.php: $xml_context->appendChild($xml->createElement( "Culture", "fr-FR" ));

      posté dans Bugs & Améliorations
      herve_02
    • RE: Images produit qui disparaissent

      il me semble que moi assis cela le fait , mais je ne manipule pas beaucoup. si je refais çà passe. À un moment j'ai pensé à des problèmes de droits parce que je bidouille pas mal.

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia la je pînaile et je suis même pas certain de comprendre toutes les subtilités...

      if(!file_exists(_PS_SUPP_IMG_DIR_.$this->supplier->id.'-'.stripslashes($image_type['name']).'.jpg')) {
                             if(!$this->generateFormats($this->supplier->id, $images_types)) {
                                 $image = $this->context->language->iso_code.'-default';
                             }
                             break;
                         }
      

      De ce que je comprends si j'ai pas l'image de base directement ==> défault.
      si j'ai une image de base on va boucler sur toutes les images censée exister ImageType::getImagesTypes('suppliers') et tenter de les fabriquer... si elles n'existent pas.

      je n'ai pas compris le break on fabrique la première image qui n'existe pas ou on fait rien si elle existe et on sort de la boucle foreach ?

      de ce que je crois comprendre, si on enlève la break, la boucle va continuer avec le prochain cycle du foreach au lieu de sortir à la fin de la première image générée

      d'ailleurs comme on a déjà affecté $image = $this->supplier->id; je pense qu'on peit potentiellement gagner un micoîème de pouillième de millisecondes avec file_exists(PS_SUPP_IMG_DIR. $image.

      Mais peut être pas... je ne suis pas assez calé en objet pour savoir si il doit reparcourir l'objet ou si accerder à $îmage n'est pas mieux que d'acceder à $this->supplier->id, auquel cas, $this->supplier->id peut être plus parlant au niveau de lecture du code. et autrant de pas utiliser $image...

      je ne suis pas assez fort en proga objet. (et puis il est tard :_)

      edit : j'ai même l'impression qu'un continue ne servirait à rien puisqu'on est déjà la fin de la boucle

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia

      mais du coup, comme les images existent à chaque fois, puisque à chaque vérification d'images on les crée toutes (enfin celles qui manqueraient) est-ce que cela vaut la peine de garder le(s) rewrite apache (et le script php) qui fabrique l'image si elle n'existe pas?
      Il y aurait peut être une race conditions : l'image qui serait fabriquée après avoir été appelé dans le tpl ? même si j'ai l'impression que dans le contrôleur , les choses étant séquentielles, elles seraient fabriquées avant de donner la main au tpl ?

      est-ce que ce gain de temps et de cpu serait significatif ? Probablement pas à notre niveau de fréquentation où les robots fréquentent plus que les humains (d'ailleurs je suis presque certain que la fabrication des images manquantes se fait à la visite des robots) et le secteur de marché est "restreint" et une large majorité des visiteurs sont des acheteurs (ce site doit exister depuis 10-15 ans au moins) .Je pense, comme lu dans une de vos interventions, c'est surtout les appels mariadb qui occupent la majeure partie du temps. (je n'ai pas encore activé le cache (recompilation à chaque fois) ET le concaténation des JS et CSS)
      j'ai encore quelques millisecondes à gagner, sans efforts ;-)

      posté dans Bugs & Améliorations
      herve_02
    • RE: controlleur fournisseurs.

      @eolia
      je trouve cela parfait..

      posté dans Bugs & Améliorations
      herve_02
    • RE: J'en profite (la fougue de la jeunesse) (ah ah ah)

      @eolia
      Le soucis avec le système actuel est que toutes les images doivent avoir les même dimensions et pour des livres ce n'est pas possible, il y a du portrait, du paysage, des carrés et donc la génération automatique des images fait qu'on se retrouve avec des bandes blanches partout pour que ca rentre dans le format. oui je sais png et la transparence, je vais refaire l('image de mon "client")

      Le script devient tellement compliqué avec des if partout que je me demandais si ce ne serait pas plus simples avec quelques options imagemagick. J'ai tellement pris l'habitude en 25 ans de linux à tout faire par des scripts et des outils que c'est devenu une sorte de seconde nature.
      Pour les photos des auteurs(fournisseurs) , comme c'est le même dossiers (et pas sous dossiers) j'ai fais mon script avec imagemagick (3 lignes). pour les produits comme c'est 3/4/5/6/3456.jpg je suis pas chaud avec un script qui parcours... pour le moment.

      J'ai un apache-php-mariadb sur un debian et dans mes trucs j'utilise exec dès que je peux. le code est petit très court et très rapide puisque du compilé.
      En ce moment s'execute un script qui va watermarquer 2770 fichiers avec les infos de la base de données sur chaque page c'est moins de 200 lignes de code, y compris lecture de la base de données, lecture de la taille des pdf le positionnement centré haut et bas à X mil. du bord de pages de watermarck, la gestion de la police, sa taillle et sa couleur, individualisé sur toutes les pages et compression des fichiers.

      Et sur un fichier pdf de 20 pages de texte cela prends 1.5 secondes.

      On peut même dans ps_configuration enregistrer les options à passer aux scripts. avec les options "de bases" dès l'install. Mon idée est pourquoi écrire du code qui réinvente en php (ou autre, c'est pareil avec python) ce que le système sous-jacent fait en 3 lignes. MAIS c'est vrai que cela implique un(ou des) systèmes sous-jacent qu'il faut connaître et pratiquer. delivengo utilise ghostscript. mondial relay (je crois) à besoin de soap et curl (peut être à travers php) je me souviens pas, je fais trop de choses. Les choix sont toujours difficiles à faire et quand les choix impliquent d'autres c'est encore plus compliqués. Mais de mon point de vue, il vaut mieux utiliser les outils qui existent déjà et se concentrer sur d'autres choses que de réinventer la roue.

      Maintenant je comprends parfaitement le soucis de rétro-compatibilité avec l'existant et avec les modules qui s'installent et attendent probablement certains choses...

      Pour l'exemple du contrôleur produits et l'image médium. si on en n'a pas besoin, de cette image, il faut l'avoir qd même sinon ca ne marche pâs ;-) je me suis arraché les cheveux un paire d'heures avant de comprendre pourquoi j'avais perdu toutes les images, juste parce que pour gagner du temps et de la place, j'avais décoché les images dont je ne me servais pas. et je ne comprenais pas puisque les images devaient se régénérer toutes seules (il m'a aussi fallu du temps pour comprendre avec les rewrites d'apache et ma conf qui ne permettait pas les .htaccess) . comme medium n'existait pas c'est comme s'il n'y avait pas d'images.

      Mais je ne veux rien révolutionner, juste arriver à faire ce qu'on me demande et si possible sans bouzin ou les lignes se comptent en paquet de 1000.

      Je vais devoir des catalogues thématiques pdf.. se sera bien entendu latex qui le fera et mes scripts écriront du code latex. qui compilera tout seul les pdf.

      C'est dur d'être "chef" et la critique étant super facile... mais mon "client" est ravi du choix de phénix, C'est un super produit et je veux aider autant que je peux. je commencerais (à part ce que je dois faire pour que cela fasse ce qu'on me demande) par gérer les warning php et alléger les errors_logs .
      C'est un tout petit début.

      posté dans Bugs & Améliorations
      herve_02
    • RE: Bon dernier du jour mais cela me turlupine classe search

      @herve_02

      Maintenant peut être qu'on gagnerais pas grand chose, Mariadb a peut être un système de cache..

      posté dans Bugs & Améliorations
      herve_02
    • se connecter comme un client idntifié

      je croyais avoir déjà posée la question.. la tête.

      dans le presta 1.7x , il y avait la possibilité de se connecter comme client (depuis sa fiche) cela permettait de faire du sav pour ceux qui ont du mal.
      C'était un module ? c'est compliqué à faire ? je suppose qu'il suffirait juste de switcher l'id non ?

      posté dans Bugs & Améliorations
      herve_02