Jump to content

Lorem Ipsum

Members
  • Posts

    63
  • Joined

  • Last visited

  • Days Won

    2

Lorem Ipsum last won the day on November 16 2023

Lorem Ipsum had the most liked content!

Profile Information

  • Activity
    Web development agency

Recent Profile Visitors

2,580,610 profile views

Lorem Ipsum's Achievements

Newbie

Newbie (1/14)

  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges

9

Reputation

  1. Bonjour, Presta V 1.7.6.7, ps_facetedsearch V 3.5.0 (avant de me dire qu'il faut update, j'aimerai savoir d'où ça vient) Pour le site d'un client, nous avons nos log de requêtes lente gavé de cette requête : SELECT fp.id_feature, fp.id_feature_value, COUNT(DISTINCT p.id_product) c FROM ( SELECT p.id_product, p.id_manufacturer, SUM(sa.quantity) as quantity, p.condition, p.weight, p.price, pl.name FROM ps_product p LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product) LEFT JOIN ps_product_attribute_combination pac ON (pa.id_product_attribute = pac.id_product_attribute) LEFT JOIN ps_stock_available sa ON (p.id_product = sa.id_product AND IFNULL(pac.id_product_attribute, 0) = sa.id_product_attribute AND sa.id_shop = 1 AND sa.id_shop_group = 0 ) INNER JOIN ps_product_lang pl ON (p.id_product = pl.id_product AND pl.id_shop = 1 AND pl.id_lang = 1) INNER JOIN ps_category_product cp ON (p.id_product = cp.id_product) INNER JOIN ps_category c ON (cp.id_category = c.id_category AND c.active=1) INNER JOIN ps_product_shop ps ON (p.id_product = ps.id_product AND ps.id_shop = 1 AND ps.active = TRUE) LEFT JOIN ps_feature_product fp ON (p.id_product = fp.id_product) LEFT JOIN ps_feature_product fp_1 ON (p.id_product = fp_1.id_product) LEFT JOIN ps_feature_product fp_2 ON (p.id_product = fp_2.id_product) LEFT JOIN ps_feature_product fp_3 ON (p.id_product = fp_3.id_product) LEFT JOIN ps_feature_product fp_4 ON (p.id_product = fp_4.id_product) LEFT JOIN ps_feature_product fp_5 ON (p.id_product = fp_5.id_product) WHERE ((fp.id_feature_value=16)) AND ((fp_1.id_feature_value=62)) AND ((fp_2.id_feature_value=66)) AND ((fp_3.id_feature_value=80)) AND ((fp_4.id_feature_value=98)) AND ((fp_5.id_feature_value=99)) AND p.visibility IN ('both', 'catalog') AND c.nleft>=283 AND c.nright<=284 AND ps.id_shop='1' GROUP BY p.id_product ) p INNER JOIN ps_feature_product fp ON (p.id_product = fp.id_product) LEFT JOIN ps_feature_product fp_1 ON (p.id_product = fp_1.id_product) LEFT JOIN ps_feature_product fp_2 ON (p.id_product = fp_2.id_product) LEFT JOIN ps_feature_product fp_3 ON (p.id_product = fp_3.id_product) LEFT JOIN ps_feature_product fp_4 ON (p.id_product = fp_4.id_product) LEFT JOIN ps_feature_product fp_5 ON (p.id_product = fp_5.id_product) LEFT JOIN ps_feature_product fp_6 ON (p.id_product = fp_6.id_product) WHERE ((fp.id_feature=1)) AND ((fp_1.id_feature_value=16)) AND ((fp_2.id_feature_value=62)) AND ((fp_3.id_feature_value=66)) AND ((fp_4.id_feature_value=80)) AND ((fp_5.id_feature_value=98)) AND ((fp_6.id_feature_value=99)) GROUP BY fp.id_feature_value; Je n'arrive pas à identifier exactement d'où sort cette requête. Mon exploration du code m'a amené au fichier "modules/ps_facetedsearch/tests/php/FacetedSearch/Adapter/MySQLTest.php" par ce qu'il n'y a que là que je trouve "SUM(sa.quantity)" par exemple. Si ça vient bien de là, comment le désactiver? Je ne tiens pas à faire tourner des tests unitaire sur la base de prod et encore moins sur le serveur de prod. Ca impacte les perf de nos autres sites. Une idée?
  2. Le cache... J'ai vidé le cache via la ligne de commande et j'ai à présent accès à mon url... Je ne sais plus si j'avais purgé le cache via l'interface, je sais que j'avais supprimé le class_index dans le doute.
  3. Bonjour, Je suis en train d'expérimenter avec le nouveau système de controller utilisant symfony (doc) mais je n'arrive pas à accéder à l'url qui doit exécuter mon controller. Je ne sais pas où j'ai loupé une étape... Voici mon Arbo et mon code : composer.json { "name": "rlmtest/rlmtest", "description": "Test module", "require": { "php": ">=7.2" }, "autoload": { "psr-4": { "RlmTest\\": "src/", "RlmTest\\Controllers\\": "src/Controllers", "RlmTest\\Controllers\\Admin\\": "src/Controllers/Admin/" }, "exclude-from-classmap": [] }, "config": { "prepend-autoloader": false }, "type": "prestashop-module" } services.yml services: RlmTest\Controllers\Admin\TestController: class: RlmTest\Controllers\Admin\TestController routes.yml #test route rlmtest_test_route: path: rlmtest/test methods: [GET] defaults: _controller: 'RlmTest\Controllers\Admin\TestController::testAction' TestController.php <?php namespace RlmTest\Controllers\Admin; use PrestaShopBundle\Controller\Admin\FrameworkBundleAdminController; class TestController extends FrameworkBundleAdminController { public function testAction() { return $this->render('@Modules/rlmtest/templates/admin/test.html.twig'); } } Notez que quand je dump autoload, il me dit "Generated autoload files containing 0 classes" mais je parviens quand même a instancier mon controller manuellement dans le getContent() du module, j'imagine donc que l'autoload fonctionne. Avec ce code, à priori je devrais accéder via l'url monsite.com/admin12345/modules/rlmtest/test mais j'ai une 404. Une idée?
  4. Hi, I have a module that is hooked to "ActionObjectProductUpdateAfter" to add a feature to the product after it's updated. The hook works great, the feature is added (can see in database with die; at the end of hook method) but without the die; the feature is erased from database. It's like I hooked the updateBefore and the form is processed after the hook. Any idea?
  5. Bonjour à tous, J'essaie de faire les choses proprement mais la version 1.7 et les choix des dev n'aident VRAIMENT PAS! (oui je commence à en avoir plein le c##!). Ma situation est la suivante : Je développe un module de personnalisation de produit (et le premier qui me redirige vers le shop addons de presta s'en prend une!) sur mesure pour un client. Le champ personnalisé que j'ajoute à un produit un via le code et avec l'option is_module=1 fou la merde. Le champ est automatiquement supprimé de la base par AdminProductWrapper ligne 621, solution => Ajouter une valeur bidon dans customized_data, GG les dev! Le champs est automatiquement mis à jour is_delete=1 par AdminProductWrapper ligne 600, solution => Surcharger Product pour modifier la fonction softDeleteCustomizationFields afin de ne pas traiter les champs quand is_module=1, GG les dev! (si vous avez une solution sans surcharge je perds!) Les champs qui sont à is_module=1 ne sont pas listés par le productPresenter donc à l'affichage ils ne sont pas pris en compte, pas de souci là dessus de tte façon je devait dev un éditeur pour remplacer l'affichage. Le souci réside dans le fait que la propriété "customizable" est à 0 et impossible de changer cette valeur. Mon problème est donc le suivant : pouvoir envoyer l'info à la vue comme quoi le produit affiché est customizable pour remplacer le "ajouter au panier" par "personnaliser". J'ai essayé d'utiliser le hook FilterProductContent (que j'ai vu venir comme un messie) mais les dev ont eu la bonne idée de protéger la propriété product, impossible donc d'en modifier le contenu. Franchement les gars, si votre but est de faire chier le monde et vos collègues dev, vous vous surpassez! J'ai fait le tour des hook et je ne vois pas de solution. A priori prestashop s'oriente vers des modules pour ne pas faire de surcharge, je ne suis pas pour mais je fais avec, sauf que je n'y arrive pas... Si vous avez une solution élégante je vous paie un verre!
  6. Same problem here, did you find the solution?
  7. Same problem here. The ajax request tells me that it saved the changes but nothing is saved. I don't have iframe and even when I delete all text, still no save... Anyone have a solution?
  8. Same here, the default category was missing, but prestashop doesn't trigger any error...
  9. Hi, It's not a request for help, but a response if some have the same issue I do. I run on Prestashop 1.7.2.4 so this "bug" may have been in the newer version, don't have time to check. Here is the inital problem : A week after going LIVE with a customer website, we started to have REALLY slow admin page. I'm talking between 7 up to 20 sec to load. I spent 2 hours looking for the root of the problem and found it! The admin always test the directories (cache, img, modules, etc.). and for some directories it does that recursively. Needles to say, it's slow when you start to have some cache piling up. So here is my fix : override the ConfigurationTest class : <?php class ConfigurationTest extends ConfigurationTestCore{ //saves 0.5/1 sec public static function test_img_dir($dir) { return ConfigurationTest::test_dir($dir, false); } //save 0.3/1sec public static function test_module_dir($dir) { return ConfigurationTest::test_dir($dir, false); } //save A LOT of time! public static function test_cache_dir($dir) { return ConfigurationTest::test_dir($dir, false); } } The false parameter is useless, it's false by default, just to show you what's changed (used to be true). I hope it helps someone else and I hope there is/will be a fix for this in the future. Regards.
  10. I guess in the theory it would work without the $specific_price_rule but it may not be logical in the database side.
  11. Same here. In the chrome dev, looking at the XHR request I can see an SQL error messing up the output, triggering the error. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3 SELECT c.`id_carrier` FROM `so_carrier` c WHERE c.`id_reference` IN () But I can't locate where this request is made. Anyone?
  12. Hi, I spent a lot of time trying to implement a bundle to override the PrestashopBundle wich is in /src/PrestaShopBundle/ . I couldn't figure it out but I think it possible, and that a lot of developer would enjoy it! It's really a dumb idea for the Prestashop Team to move away from overrides! If anyone has a solution, a fix that enable to override without editing the core (or with small edit), I will be grateful! Thank you.
  13. Hi, I'm trying to use the ProductSearchQuery to display a list of products but I don't find a way to set a WHERE clause to tell the search provider to return only upcoming available products (or for an other controller ignore the product that are not available yet). Is it possible or do I have to use the good old DB executeS, making this searchProvider useless (because it can't be override). Thanks.
  14. Merci de ton retour. Problème résolu entre temps. Je n'avais pas modifié le champ "price" dans product_shop, voila tout...
×
×
  • Create New...