Právě je 18 dub 2024 07:36

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 18 črc 2015 16:20 
C4 zákazník

Registrován:
13 zář 2013 15:02
Příspěvky:
187
Dobrý den,

potřebuji mít při registraci zákazníka aktivní B2B režim. Ve registračním formuláři se objevují kolonky pro SIRET a APE. Místo nich bych potřeboval mít IČO a DIČ (volitelně). Problém ale je, že při uložení registračního formuláře dojde k ověření tvaru, který neodpovídá českým identifikačním údajům. Chci se tedy zeptat, zda by se tento problém nedal vyřešit pomocí přejmenování těchto polí na IČO a DIČ a odstranění ověřování správného tvaru.

O odstranění jsem se pokusil s návodem z tohoto URL:
https://forum.c4.cz/prestashop-1-6-odber-na-spolecnost-dobrovolne-ico-t5659.html

ale toto řešení nepomohlo.
Děkuji za odpověď.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0- Registrace SIRET a APE - úprava
PříspěvekNapsal: 18 črc 2015 20:08 
C4 zákazník

Registrován:
13 zář 2013 15:02
Příspěvky:
187
ověření tvaru lze odstranit v /classes/Validate.php

Změna ověření SIRET:

Kód:
/**
    * Validate SIRET Code
    *
    * @param string $siret SIRET Code
    * @return bool Return true if is valid
    */
    public static function isSiret($siret)
   {
         return (bool)preg_match('/^\d{1,25}$/s', $siret);
   
  // if (Tools::strlen($siret) != 14) 
  //   return false;
   //   $sum = 0;
   //   for ($i = 0; $i != 14; $i++)
   //   {
   //      $tmp = ((($i + 1) % 2) + 1) * intval($siret[$i]);
   //      if ($tmp >= 10)
   //         $tmp -= 9;
   //      $sum += $tmp;
   //   }
   //   return ($sum % 10 === 0);
   
   }


Změna ověření APE:
Kód:
/**
    * Validate APE Code
    *
    * @param string $ape APE Code
    * @return bool Return true if is valid
    */
   public static function isApe($ape)
   {
      return (bool)preg_match('/^(CZ){0,1}[0-9]{8,10}$/i', $ape);
   }


Překlady:
Front Office - Authentication a Identity
Backoffice - Adminorders a Adminstores
Názvy polí - Customer

Zajímalo by mě, zda tato úprava nenaruší další fungování eshopu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 20 črc 2015 13:39 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
Dobrý den,

jedná se pouze o úpravy funkcí pro ověření tvaru, takže na chod v dalších částech obchodu nebudou mít žádný vliv. A úpravy v překladech také ne. Ale doporučuji Vám podobné změny ve zdrojovém kódu provádět pomocí overriding. Protože při aktualizaci na novou verzi aplikace dojde k přepsání původních souborů a úpravy budete muset aplikovat znovu.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 21 črc 2015 14:50 
C4 zákazník

Registrován:
13 zář 2013 15:02
Příspěvky:
187
Dobrý den,

přece jen se objevila chyba. Pokud zadám do pole APE (přejmenováno na DIČ) například CZ1234567890, dojde bez chyby k uložení registračního formuláře. Pokud ale zkontroluji v administraci, zda se číslo uložilo, je u daného zákazníka uloženo pouze CZ123. Pokud poté zákazník na stránce /my-account klikne na moje osobní údaje, objeví se na stránce /identity chyba (viz obrázek).

Kód je ze stránky: http://php.net/manual/fr/function.preg-match.php

Děkuji za jakoukoliv radu.


Přílohy:
vyjimka.jpg
vyjimka.jpg [ 93.97 KiB | Zobrazeno 4881 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 21 črc 2015 16:55 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
Dobrý den,

v tom případě jste si v databázi aplikace neupravil původní formát buňky ape, která má nastavenou délku na maximálně 5 znaků. Takže standardně na adrese http://mysql.nazev-vasi-domeny.cz se například pomocí aplikace phpMyAdmin přihlaste do databáze Vaší aplikace PrestaShop, v levém menu klikněte na název databáze a ve výpisu tabulek klikněte u tabulky ps_customer (příp. vasprefix_customer) na odkaz Struktura. V seznamu najděte řádek s ape a klikněte na Změnit. Nyní si ve sloupečku Délka/Množina změňte původní hodnotu 5 znaků na 10 a uložte změnu. S buňkou siret by neměl stejný problém nastat, protože ta má nastavenou maximální délku na 14 znaků (upravit si případně můžete ve struktuře stejné tabulky).

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 21 črc 2015 17:10 
C4 zákazník

Registrován:
13 zář 2013 15:02
Příspěvky:
187
Perfektní, děkuji moc za pomoc.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 29 bře 2016 16:35 

Registrován:
16 črc 2015 10:30
Příspěvky:
7
Ďakujem pekne za návod :). Funguje mi to všetko čo ste napísali. Ešte som ta zbadal jednu chybu. Je to chyba pri objednávke - keď si zákazník objednáva a napíše mu tam fakturačná adresa, tak IČO (teda SIRET) a IČ DPH/DPH (teda APE) sa nezobrazujú vo fakturačných údajoch a zákazník chce vedieť či budú jeho údaje na faktúre, keď sa nezobrazujú. Viete mi niekto poradiť?

prikladám aj foto


Přílohy:
foto.jpg
foto.jpg [ 61.35 KiB | Zobrazeno 4286 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 29 bře 2016 17:00 

Registrován:
16 črc 2015 10:30
Příspěvky:
7
Tak som to vyriešil. Dopísal som do Lokalizícia-Krajiny formát adresy Customer:siret
Customer:ape a funguje to ako má. Ďakujem za pomoc ;)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 27 čer 2016 18:26 
C4 zákazník

Registrován:
13 zář 2013 15:02
Příspěvky:
187
Dobrý den, děkuji za upozornění, tohoto problému jsem si předtím nevšiml. U objednávky bez registrace se mi zobrazuje pouze DIČ (v Lokalizace > Krajiny v poli Formát adresy mám pouze vat_number). Pokud tam dopíšu Customer:siret a Customer:ape, zobrazuje se mi pouze DIČ (pravděpodobně kvůli vat_number). Není třeba ještě někde jinde něco povolit? Mám aktivní Konfigurace > Zákazníci > B2B režim. Děkuji za odpověď.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6.1.0 - Registrace SIRET a APE - úprava
PříspěvekNapsal: 28 čer 2016 16:37 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
Dobrý den,

jedná se o standardní chování. U objednávky bez registrace (resp. rychlé objednávky) nejsou tato pole dostupná. Takže buď byste musel zakázat objednávku bez registrace, nebo si upravit zdrojový kód.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz