Jump to content

Créer un module : doc prestashop problème


Recommended Posts

Bonjour, 

 

Je commence à étudier prestashop, je suivi l'exemple de la doc pour le premier module.

 

Le formulaire de configuration ne s'affiche pas, j'ai essayé avec displayForm() et renderForm()

 

Je n'ai pas trouvé de solution. Je suis sous MAMP en local

 

Merci de votre aide.

 

Mon code :

public function getContent()
	{
		$output = null;
		
		if (Tools::isSubmit('submit'.$this->name))
		{
			$my_module_name = strval(Tools::getValue('MYMODULE_NAME'));
			
			if (!$my_module_name ||
				empty($my_module_name) ||
				!Validate::isGenericName($my_module_name))
			$output.= $this->displayError($this->l('Invalid configuration value'));
			else
			{
				Configuration::updateValue('MYMODULE_NAME', $my_module_name);
				$output .= $this->displayConfirmation($this->l('Setting updated'));
			}
		}
		return $output.$this->renderForm();
	}
	
	public function renderForm()
	{
		// Get default language
		$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
		
		// Init fields from array
		$fields_form[0]['form'] = array(
			'legend' => array(
			'title' => $this->l('Settings'),
				),
			'input' => array(
				'type' => 'text',
				'label' => $this->l('Configuration value'),
				'name' => 'MYMODULE_NAME',
				'size' => 20,
				'required' => true
				),
			'submit' => array (
				'title' => $this->l('Save'),
				'class' => 'button',
				)
			);
		
		$helper = new HelperForm();
		
		// Module, token and currentIndex
		$helper->module = $this;
		$helper->name_controller = $this->name;
		$helper->token = Tools::getAdminTokenLite('AdminModules');
		$helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
		
		// Language
		$helper->default_form_language = $default_lang;
		$helper->allow_employee_form_lang = $default_lang;
		
		// Title and tooblar
		$helper->title = $this->displayName;
		$helper->show_toolbar = true;
		$helper->toolbar_scroll = true;
		$helper->submit_action = 'submit'.$this->name;
		$helper->toolbar_btn = array(
			'save' => array(
				'desc' => $this->l('Save'),
				'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
				'&token='.Tools::getAdminTokenLite('AdminModules'),
			),
			'back' => array(
				'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
				'desc' => $this->l('Back to list')
			)		
		);
		
		// Load current value
		$helper->fields_value['MYMODULE_NAME'] = Configuration::get('MYMODULE_NAME');
		
		return $helper->generateForm($fields_form);
	}

Link to comment
Share on other sites

Salut,

Dans ta fonction renderForm(), tu as mis :

            'input' => array(
                'type' => 'text',
                'label' => $this->l('Configuration value'),
                'name' => 'MYMODULE_NAME',
                'size' => 20,
                'required' => true
                ),

Mais il faut mettre :

            'input' => array(
                array(
                'type' => 'text',
                'label' => $this->l('Configuration value'),
                'name' => 'MYMODULE_NAME',
                'size' => 20,
                'required' => true
                )),

Ca devait être mieux ;)

 

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...