Jump to content
PawelTR

Wielojęzyczny formularz

Recommended Posts

Witam,

Mam następujący problem. Chciałbym zrobić zwykłą wtyczkę hello world. Wtyczka w panelu admina powinna mieć formularz z 3 polami tytuł oraz opis ale aby to były pola typu multilanguage, po wpisaniu danych zapis do bazy danych i na końcu chciałbym, aby tekst wpisany w input pojawił się na podstronie w wersji angielskiej /hello-world, a polskiej /czesc. Niestety nie jestem w stanie sobie z tym poradzić.


Zrobiłem sam moduł, instaluje się bez problemu, w konfiguracji wtyczki jestem w stanie utworzyć sobie prosty formularz html, ale nie wiem jak zrobić, aby to był multilanguage i jak później wygląda zapis takiego formularza z polami dla różnych języków?  Pokrótce to chciałbym się dowiedzieć: jak dodać pola typu multilanguage oraz jak takie pola zapisać,  jak wyświetlić te pola w odpowiednim języku.

 

Szukam wszędzie gdzie się da, ale nie mogę nic konkretnego znaleźć i siedzę nad tym wszystkim od wczoraj :(

Share this post


Link to post
Share on other sites

Na mypresta bodajże był faq przy dodawaniu pola tylko nie pamiętam czy była tam opcja multilang, sprawdź. 

Share this post


Link to post
Share on other sites

Hej :)

Dodałem takie pole text z parametrem lang i z tego co widzę, od razu w zakładce translacji mogę dodać tłumaczenia dla formularza :) Czy to na takiej zasadzie ma działać? Ja dodaję pole lang + tłumaczenie, a plugin później odpowiednio wybiera tłumaczenie zależnie od ustawień presty?

Mam jeszcze problem z uzupełnieniem pola domyślną wartością, mam taki formularz:

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

		$fields_form = array();
		$fields_form[0]['form'] = array(
			'legend' => array(
				'title' => $this->l('My module settings')
			),
			'input' => array(
				array(
					'type' => 'text',
					'label' => $this->l('Box Description: '),
					'name' => 'box_description',
					'lang' => true
				)
			),
			'submit' => array(
				'title' => $this->l('Save'),
				'class' => 'btn btn-default pull-right'
			)
		);
		$languages = Language::getLanguages();
		$helper = new HelperForm();

		$helper->name_controller = 'HomepageSettings';
		$helper->token = Tools::getAdminTokenLite('AdminModules');

		$helper->default_form_language = $default_lang;
		$helper->allow_employee_form_lang = $default_lang;
		$helper->languages = $this->context->controller->getLanguages();

		$helper->title = "tester";
		$helper->show_toolbar = true;        // false -> remove toolbar
		$helper->toolbar_scroll = true;      // yes - > Toolbar is always visible on the top of the screen.
		$helper->submit_action = 'homepage_settings';
		$helper->fields_value['box_description'] = "hello";
		return $helper->generateForm($fields_form);
	}

I mam taki problem, że w kodzie jest określone, aby wartość była hello, ale to nie działa zamiast hello pokazuje mi tylko literkę e i nic więcej. W czym tkwi problem? Ostatnia kwestia jak zrobić, aby ten moduł działał w trybie multistore?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More