MardiMatin Posted August 3, 2011 Share Posted August 3, 2011 Bonjour, J'ai modifié un module existant et pour cela j'ai eu besoin de créer une nouvelle méthode dans une classe déjà existante (Manufacturer). J'ai donc créé un fichier Manufacturer dans le sous-répertoire classes du répertoire override. Dans ce fichier, j'ai créé la classe Manufacturer qui étend ManufacturerCore puis créé ma nouvelle méthode. Mon module fonctionne très bien comme je le souhaite mais dans l'admin sur la page qui liste tous les modules j'ai une alerte "Erreur(s) de parsing dans le(s) module(s)" qui concerne le module que je viens de modifier. Avant que je le modifie, il n'y avait pas d'alerte et la seule modification que j'ai faite dans les fichiers du module c'est de remplacer l'appel à une méthode par l'appel à la nouvelle méthode que j'ai créée... (j'ai juste changé le nom de la méthode). Que dois-je faire pour corriger l'erreur qui m'est signalée ? Merci Link to comment Share on other sites More sharing options...
coeos.pro Posted August 3, 2011 Share Posted August 3, 2011 Bonjour, en général une erreur de parsing, c'est un ; à la fin d'une ligne qui est absent, une accolade ouverte et non fermée, une parenthèse, un Tools::getValue avec des [] au lieu de ()... vous avez déjà vérifié tout ceci ? Link to comment Share on other sites More sharing options...
MardiMatin Posted August 4, 2011 Author Share Posted August 4, 2011 Bonjour, en général une erreur de parsing, c'est un ; à la fin d'une ligne qui est absent, une accolade ouverte et non fermée, une parenthèse, un Tools::getValue avec des [] au lieu de ()... vous avez déjà vérifié tout ceci ? Merci pour votre réponse. Oui, il n'y a aucune erreur de ce type, d'ailleurs les scripts sont exécutés sans erreurs et le résultat affiché dans le Front Office ne pose aucun problème. C'est dans le Back Office qu'une erreur m'est signalée. Peut-on réellement créer de nouvelles méthodes dans le répertoire override pour des modules ? Je me demande si dans ce cas, on ne doit pas plutôt créer la méthode dans le répertoire du module concerné (sauf que dans ce cas, il sera impossible de réutiliser cette méthode dans un autre module par exemple...) Link to comment Share on other sites More sharing options...
coeos.pro Posted August 4, 2011 Share Posted August 4, 2011 L'erreur de parsing est dans le back office onglet module ? si oui, alors l'erreur de parsing n'est pas le fichier qui est dans override/classes/ mais dans le fichier qui est dans le répertoire qui est dans le dossier modules. Link to comment Share on other sites More sharing options...
MardiMatin Posted August 4, 2011 Author Share Posted August 4, 2011 L'erreur de parsing est dans le back office onglet module ? si oui, alors l'erreur de parsing n'est pas le fichier qui est dans override/classes/ mais dans le fichier qui est dans le répertoire qui est dans le dossier modules. Oui l'erreur est bien dans l'onglet module... L'erreur est apparemment liée au fait que je modifie le nom de l'une des méthodes qui est appelée afin d'utiliser la méthode qui est dans override. Quand je remets le nom de la méthode initiale l'erreur disparait... c'est très bizarre. La seule modification que j'ai faite dans le fichier du module c'est de remplacer getManufacturers() par getManufacturersWithProducts() Link to comment Share on other sites More sharing options...
coeos.pro Posted August 4, 2011 Share Posted August 4, 2011 le nom de la méthode DOIT être le nom du fichier, exemple pour un de mes modules nommé private_shop Le fichier private_shop.php est dans le répertoire modules/private_shop/private_shop.php et il commence par : <?php class Private_shop extends Module { ... si tu as juste voulu changer le nom de la fonction getManufacturers par getManufacturersWithProducts dans le fichier manufacturer.php, alors pour quelle raison ? Link to comment Share on other sites More sharing options...
MardiMatin Posted August 4, 2011 Author Share Posted August 4, 2011 le nom de la méthode DOIT être le nom du fichier, exemple pour un de mes modules nommé private_shop Le fichier private_shop.php est dans le répertoire modules/private_shop/private_shop.php et il commence par : <?php class Private_shop extends Module { ... si tu as juste voulu changer le nom de la fonction getManufacturers par getManufacturersWithProducts dans le fichier manufacturer.php, alors pour quelle raison ? Je ne parle pas du nom de la classe mais bien du nom de l'une des méthodes de manufacturer. Dans le module, il y a normalement la méthode manufacturer::getManufacturers() qui est appelée mais comme je ne veux récupérer que les fabricants pour lesquels il y a des produits actifs, j'ai créé une nouvelle méthode dans le fichier manufacturer de override/classes/ Cette nouvelle méthode s'appelle getManufacturersWithProducts(), elle fonctionne comme getManufacturers() sauf que la requête SQL est différente. Link to comment Share on other sites More sharing options...
coeos.pro Posted August 4, 2011 Share Posted August 4, 2011 ok, à la rigueur met le code ici, on pourra peut être voir ce qui cloche Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now