mitro2666 Posted January 16, 2015 Share Posted January 16, 2015 (edited) Prinášam jednoduché riešenie pre všetkých tých, ktorí sa trápia s poľom IČO pri registrácií nefiremného zákazníka. Po štyroch dňoch môjho trápenia, skúšania, testovania a tápania v php kóde, Vám prinášam jednoduchý návod ako zmeniť kód v súboroch, aby už nebolo konečne povinné zadávanie poľa IČO pri registrácií a objednávke. Verzia presty je 1.6.0.9. Riešenie: na ftp serveri si nájdeme tieto súbory controllers/front/AuthControllers.php a controllers/front/AddressController.php. V AuthControllers.php nájdeme tento kód: na riadku 514-517: if($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); elseif (!$country->need_identification_number) $$addresses_type->dni = null; a zakomentujeme ho takto: // if($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) // $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); // elseif (!$country->need_identification_number) // $$addresses_type->dni = null; V AddressController.php nájdeme tento kód: na riadku: 156-160: // Check country DNI if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); else if (!$country->isNeedDni()) $address->dni = null; a zakomentujeme ho takto: // // Check country DNI // if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) // $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); // else if (!$country->isNeedDni()) // $address->dni = null; Nezabudnite si pred tým tieto dva súbory zálohovať. Pri registrácií Vám síce bude svietiť pole IČO ako povinné pole, ale nebude overované. T. j. nebudete musieť do poľa IČO zadať nič a pustí Vás to v krokoch objednávky ďalej na vytvorený účet. Overené a otestované pre prestu 1.6.0.9 pri nákupe s regfistráciu a bez registrácie konta firemného a nefiremného zákazníka, pri aktualizácii adresy a pridávania ďalšej adresy zákazníkom. Nie je potreba zatiaľ nijaká iná úprava kódu. U mňa táto zmena 100% funkčná pri objednávkach. Edited January 16, 2015 by mitro2666 (see edit history) 4 Link to comment Share on other sites More sharing options...
Patrik179 Posted June 11, 2015 Share Posted June 11, 2015 Zdravím. Nie som veľký znalec php kódu, ale potreboval by som poradiť Skúšal som tam ten kód prespísať v obidvoch súboroch a nešlo mi to. Skúšal som to vložiť aj pred kód v obidvoch súboroch a nešlo mi to tiež. Robím niečo zle? Viete mi poradiť prosím? Link to comment Share on other sites More sharing options...
Patrik179 Posted June 12, 2015 Share Posted June 12, 2015 (edited) Prinášam jednoduché riešenie pre všetkých tých, ktorí sa trápia s poľom IČO pri registrácií nefiremného zákazníka. Po štyroch dňoch môjho trápenia, skúšania, testovania a tápania v php kóde, Vám prinášam jednoduchý návod ako zmeniť kód v súboroch, aby už nebolo konečne povinné zadávanie poľa IČO pri registrácií a objednávke. Verzia presty je 1.6.0.9. Riešenie: na ftp serveri si nájdeme tieto súbory controllers/front/AuthControllers.php a controllers/front/AddressController.php. V AuthControllers.php nájdeme tento kód: na riadku 514-517: if($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); elseif (!$country->need_identification_number) $$addresses_type->dni = null; a zakomentujeme ho takto: // if($country->need_identification_number && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) // $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); // elseif (!$country->need_identification_number) // $$addresses_type->dni = null; V AddressController.php nájdeme tento kód: na riadku: 156-160: // Check country DNI if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); else if (!$country->isNeedDni()) $address->dni = null; a zakomentujeme ho takto: // // Check country DNI // if ($country->isNeedDni() && (!Tools::getValue('dni') || !Validate::isDniLite(Tools::getValue('dni')))) // $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.'); // else if (!$country->isNeedDni()) // $address->dni = null; Nezabudnite si pred tým tieto dva súbory zálohovať. Pri registrácií Vám síce bude svietiť pole IČO ako povinné pole, ale nebude overované. T. j. nebudete musieť do poľa IČO zadať nič a pustí Vás to v krokoch objednávky ďalej na vytvorený účet. Overené a otestované pre prestu 1.6.0.9 pri nákupe s regfistráciu a bez registrácie konta firemného a nefiremného zákazníka, pri aktualizácii adresy a pridávania ďalšej adresy zákazníkom. Nie je potreba zatiaľ nijaká iná úprava kódu. U mňa táto zmena 100% funkčná pri objednávkach. Zdravím. Nie som veľký znalec php kódu, ale potreboval by som poradiť Skúšal som tam ten kód prespísať v obidvoch súboroch a nešlo mi to. Skúšal som to vložiť aj pred kód v obidvoch súboroch a nešlo mi to tiež. Robím niečo zle? Viete mi poradiť prosím? Neviem čo znamená zakomentovať. Edited June 12, 2015 by Patrik179 (see edit history) Link to comment Share on other sites More sharing options...
PavelStrejcek Posted April 26, 2019 Share Posted April 26, 2019 Od verze 1.6.1.2 je možné použít Modul Nepovinné IČO pro PrestaShop 1.6 zdarma: https://www.brainweb.cz/modul-nepovinne-ico-pro-prestashop-16-zdarma 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