capitanweed Posted May 23, 2014 Share Posted May 23, 2014 (edited) Witam. Mam pytanie w sprawie dodania dodatkowych pól do rejestracji w Prescie 1.6. W jaki sposób można je dodać? Słyszałem także o modułach za to odpowiedzialnych (darmowych) - lecz niestety nie mogłem żadnego znaleźć. Prosił bym o pomoc. Z poważaniem Kacper S. Edited June 4, 2014 by capitanweed (see edit history) Link to comment Share on other sites More sharing options...
0 capitanweed Posted May 23, 2014 Author Share Posted May 23, 2014 UP Link to comment Share on other sites More sharing options...
0 capitanweed Posted May 27, 2014 Author Share Posted May 27, 2014 UP - prosił bym naprawdę o pomoc Link to comment Share on other sites More sharing options...
0 Yabber Posted May 27, 2014 Share Posted May 27, 2014 Ja znalazłem, ale płatny: http://addons.prestashop.com/pl/front-office-funkcje-moduly-prestashop/16826-customer-attributes-and-registration-fields.html&utm_source=back-office&utm_medium=promo-addons&utm_campaign=back-office-PL Link to comment Share on other sites More sharing options...
0 capitanweed Posted May 29, 2014 Author Share Posted May 29, 2014 Zacząłem próbować stworzyć dodatkowe pole - niby wszystko ok, ale w trakcie zakończenia rejestracji (po kliknięciu w rejestruj) pojawia się białe tło - i nic się nie dzieje - użytkownik też nie został dodany. Stwierdziłem że rozpiszę tutaj, po koli w krokach co robiłem i w jaki sposób - może razem uda nam się rozwiązać ten problem - myślę że jak najbardziej przyda się każdemu 1. Modyfikacja pliku authentication.tpl (ścieżka: themes->twójtheme) dodałem pole (opierając się na innych) <div class="required form-group"> <label for="cos">{l s='Cos'} <sup>*</sup></label> <input onkeyup="$('#lcos').val(this.value);" type="text" class="is_required validate form-control" data-validate="isCos" id="cos" name="cos" value="{if isset($smarty.post.cos)}{$smarty.post.cos}{/if}" /> </div> 2. Edycja pliku AuthController.php (ścieżka controllers/front/ wyszukać "Preparing customer" dopisałem dwie linijki (opierając się na reszcie): $cosAddress = Tools::getValue('cos');\ oraz $_POST['cos'] = Tools::getValue('cos'); po czym po wyszukaniu Update context after customer creation dopisałem $this->context->cookie->cos = $customer->cos; 3. Modyfikacja pliku customer.php (ściezka: /classes/ po wyszukaniu class CustomerCore extends ObjectModel wpisałem: /** @var string cos */ po czym po wyszukaniu @see ObjectModel::$definition 'cos' => array('type' => self::TYPE_STRING, 'validate' => 'isCos', 'required' => true, 'size' => 32), 4. Dodałem w bazie danych dodatkowe pole "cos" ALTER TABLE `ps_customer` ADD `cos` VARCHAR( 32 ) NOT NULL 5. Modyfikacja pliku AdminCustomersController (ścieżka : /controllers/admin/) ), 'email' => array( 'title' => $this->l('Email address') ), zamieniłem na: ), 'email' => array( 'title' => $this->l('Email address') ), 'cos' => array( 'title' => $this->l('Cos') ) ; po czym wyszukać : 'input' => array( idodać w odpowiednim polu: array( 'type' => 'text', 'label' => $this->l('Cos'), 'name' => 'cos', 'required' => true, 'col' => '4', ), Prosił bym o pomoc w rozwiązaniu problemu Link to comment Share on other sites More sharing options...
0 vekia Posted May 29, 2014 Share Posted May 29, 2014 białe tło? włacz raportowanie błędów od tego trzeba zacząć zamiast białego tła powinny pojawić się logi błędów. 1 Link to comment Share on other sites More sharing options...
0 capitanweed Posted May 29, 2014 Author Share Posted May 29, 2014 (edited) mógłbyś powiedzieć gdzie to zmienić? EDIT sprawdziłem - wyskakuje Fatal error: Call to undefined method Validate::isCos() in /home/sigmed1/ftp/shop4pet.pl/www/classes/ObjectModel.php on line 1032 lecz dziwne - bo ObjectModel.php edytowałem - po czym zamieniłem na ten poprawny - ale nadal wyskakuj ten błąd? jakis problem? EDIT 2 // Checking for fields validity // Hack for postcode required for country which does not have postcodes if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) { if (isset($data['validate']) && !Validate::$data['validate']($value) && (!empty($value) || $data['required'])) $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.'); else { if (isset($data['copy_post']) && !$data['copy_post']) continue; if ($field == 'passwd') { if ($value = Tools::getValue($field)) $this->{$field} = Tools::encrypt($value); } else $this->{$field} = $value; } } to się znajduje w tej linijce - z tego co zrozumiałem chyba chodzi o to, że był pusty (w trakcie wpisywania) - co by się trochę zgadzało, ponieważ w trakcie pisania do rejestracji (w tym polu) nie pokazuje się oznaczenie (zielone lub czerwone) chociaż że pole jest wymagane - jakiś pomysł? EDIT 3 poradziłem sobie z tym błędem - problem teraz jest taki jak wcześniej - wpisuję tekst ale on tego nie widzi - a że jest zaznaczony jako obowiązkowy wyskakuje komunikat o uzupełnieniu pola - jakiś pomysł? EDIR 4 znów ten sam błąd ;/ - widać że traktuje te pole jako puste, ktoś jakiś pomysł? Edited May 29, 2014 by capitanweed (see edit history) Link to comment Share on other sites More sharing options...
0 capitanweed Posted May 30, 2014 Author Share Posted May 30, 2014 UP Link to comment Share on other sites More sharing options...
0 capitanweed Posted June 2, 2014 Author Share Posted June 2, 2014 UP Link to comment Share on other sites More sharing options...
0 capitanweed Posted June 4, 2014 Author Share Posted June 4, 2014 UP Link to comment Share on other sites More sharing options...
0 capitanweed Posted June 4, 2014 Author Share Posted June 4, 2014 (edited) http://www.bitsandchips.it/forum/viewtopic.php?f=11&t=4884 <- fajny tutorial jak zrobić - jest to do presty 1.5, ale działa również na 1.6 btw. proponował bym przypięcie tematu - myślę że przyda się wszystkim Edited June 4, 2014 by capitanweed (see edit history) Link to comment Share on other sites More sharing options...
0 maraguta Posted April 14, 2016 Share Posted April 14, 2016 (edited) http://iswebs.com.pl/jak-dodac-pola-formularza-kontaktowego-prestashop-1-6/ Edited April 24, 2016 by maraguta (see edit history) Link to comment Share on other sites More sharing options...
Question
capitanweed
Witam.
Mam pytanie w sprawie dodania dodatkowych pól do rejestracji w Prescie 1.6. W jaki sposób można je dodać? Słyszałem także o modułach za to odpowiedzialnych (darmowych) - lecz niestety nie mogłem żadnego znaleźć. Prosił bym o pomoc.
Z poważaniem
Kacper S.
Edited by capitanweed (see edit history)Link to comment
Share on other sites
11 answers to this question
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