THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Hello tout le monde!

Il y a quelque chose qui doit m'échapper car ça fait 2 jours que je me prends la tête à trouver ce qui ne va pas.

Dans mes modules j'ai :

class MonModuleCreationForm extends BaseForm
{
	protected $locale;
	
	public function __construct(RequestStack $requestStack)
    {
        $this->request = $requestStack->getCurrentRequest();
		$this->locale = $this->request->getSession()->getLang()->getLocale();
    }
...

et ça fonctionne sans souci partout.

Sauf que sur mon dernier module en cours de développement, j'ai fait exactement pareil et là, bizarrement ça me met une erreur :

Too few arguments to function MonModule\Form\MonModuleCreationForm::__construct(), 0 passed in .../thelia/vendor/thelia/core/lib/Thelia/Core/Form/TheliaFormFactory.php on line 102 and exactly 1 expected

La ligne correspondante est

$form = $this->container->has($formId) ? $this->container->get($formId) : new $formId();

Pourquoi ça fonctionne sur tous mes modules sauf le dernier que je suis en train de développer ?!

J'ai oublié quelque chose dans le fichier config pour récupérer le request_stack ?

Merci d'avance pour votre aide

Last edited by Elyos (26-02-2024 17:52:46)


Aide les autres, ils t'aideront en retour.

Offline


Bon bah j'avais omis

 public static function configureServices(ServicesConfigurator $servicesConfigurator): void
    {
        $servicesConfigurator->load(self::getModuleCode().'\\', __DIR__)
            ->exclude([THELIA_MODULE_DIR.ucfirst(self::getModuleCode()).'/I18n/*'])
            ->autowire(true)
            ->autoconfigure(true);
    }

Dans la classe de mon module... souci corrigé du coup...


Aide les autres, ils t'aideront en retour.