PawelTR Posted September 20, 2019 Share Posted September 20, 2019 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 Link to comment Share on other sites More sharing options...
krzysiek_web Posted September 20, 2019 Share Posted September 20, 2019 Na mypresta bodajże był faq przy dodawaniu pola tylko nie pamiętam czy była tam opcja multilang, sprawdź. Link to comment Share on other sites More sharing options...
PawelTR Posted September 21, 2019 Author Share Posted September 21, 2019 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? 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