Jump to content

[SOLUCIONADO] Módulo con inputs en multi-idioma


clemenlg

Recommended Posts

Hola,

Estoy intentando crear un módulo sencillo para Prestashop (1.5) con campos de texto para su configuración en el backend multi-idioma. Nunca lo he hecho multi-idioma, y quería hacer algo sencillo para probar.

Bueno, el tema es que después de leer acerca de los helpers y otra documentación de prestashop, no logro que se muestren las banderas de países para cambiar el idioma del texto a introducir. Se supone que con el helper, indicando que es un campo multi-idioma, se debería de generar, pero no es así.

Dejo la parte del código (la función) que muestra el formulario:

public function displayForm()
	{
		$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');

		$fields_form[0]['form'] = array(
			'legend' => array(
				'title' => $this->l('Settings'),
				'image' => '../sample/image.gif'
			),
			'input' => array(
				array(
					'type' => 'textarea',
					'label' => $this->l('Your text'),
					'lang' => true,
					'rows' => 10,
					'cols' => 100,
					'name' => 'example1',
					'desc' => $this->l('Example:').' bla, bla, bla...',
					'required' => true
				)
			),
			'submit' => array(
				'title' => $this->l('Save'),
				'class' => 'button'
			)
		);

		$helper = new HelperForm();
		$helper->module = $this;
		$helper->name_controller = $this->name;
		$helper->token = Tools::getAdminTokenLite('AdminModules');
		$helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
		$helper->languages = Language::getLanguages();
		$helper->default_form_language = $default_lang;
		$helper->allow_employee_form_lang = $default_lang;
		$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')
			)
		);

		$example1 = (array)Configuration::getInt('EXAMPLE1');
		foreach ($example1 as $lang => $value) {
			$helper->fields_value['example1'][$lang] = $value;
		}

		return $helper->generateForm($fields_form);
	}

Adjunto:

codigo1.png: html resultante (no aparece el div de displayed-flag, ni el language-flag)

formulario1.png: vista resultante, se aprecia que no aparece la bandera a la derecha

cosigo2.png: html resultante, con las banderas de lenguaje (es del módulo de Prestashop CMS)

 

¿Alguna ayudita?

 

Debe ser una tontería, pero no lo logro. He revisado la función displayFlags, pero es para llamarla a "pelo", es decir, genera el html para las banderas, pero en teoría los helpers deben de hacerlo, ¿no?

 

Gracias ;D

post-620633-0-50178100-1403266973_thumb.png

post-620633-0-49542400-1403266974_thumb.png

post-620633-0-98910900-1403266974_thumb.png

Edited by clemenlg (see edit history)
Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...