Jump to content
  • 0

Wymagany Vat_Number Po Uzupełnieniu Company


andrzej.k89

Question

Witam,

Tak jak w temacie Wymagany Vat_number po uzupełnieniu company. Znalazłem podpowiedź jak to rozwiązać ale niestety poległem przy zmianach w pliku vatmenagment.js.

 

 

Szukając rozwiązania dla siebie zrobiłem coś takiego:

Nip wyłączony backoffisie.

 

Pole vat_number przetłumaczyłem jako NIP, w pliku /tools/vatManagement,js uzupełniłem kod by dodawał odpowiednie klasy "required" do vat_number jeśli klient wypełni pole z nazwą firmy. W pliku AddressController.php do metody processSubmitAddress() dodałem kod sprawdzający i wymuszający na kliencie podanie NIP-u jak podał nazwę firmy:

 

 

 

if (Tools::getValue('company') !='')
            if (!Tools::getValue('vat_number'))
                $this->errors[] = Tools::displayError('NIP jest wymagany!');

 

 

 

Teraz klient podając adres może podać nazwę firmy i będzie musiał podać NIP lub nie podaje nazwy firmy i nie musi podawać nr NIP. Pole NIP jest ukryte do momentu wprowadzenia nazwy firmy.

 

 

 

 

Idealnym rozwiązaniem w moim przypadku była by możliwość ustawienia pola Company i Vat_number jako wymagane dla jednego z mutlisklepów, które posiadam. Niestety ale szablon i reszta kodu odpowiedzialna za to obsługuje wszystkie mlutisklepy. 

 

Jednakże, jeżeli ma ktoś pomysł jak to rozwiązać, lub pomoże przy edycji pliku vatmenagment.js, bardzo proszę o pomoc.

 

Pozdrawiam

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Hmm edytuj kod tego pola i dodać atrybut required.

Najprostsze rozwiązanie.

 

Jeżeli rozumie dobrze propozycję. Zmiana w klasie vat_number w Address.php przez dopisania required. Jeżeli tak to poskutkuję to wymogiem pola vat_number we wszystkich formularzach rejestracyjnych we wszystkich sklepach, spiętych pod multistore.

 

Idea jest następująca, w kilku multisklepach wymagane jest pole vat_number, ideałem było by tez pole company. W pozostałych sklepach nie ma takiego wymogu. Nie znalazłem takiego rozwiązania lub modułu jedyne zaczątki jakiegokolwiek rozwiązania to wymagane vat_number po wpisaniu w pole company, lecz poległem na edycji vatmenagment.js.

 

W preście 1.5 wystarczały zmiany w Addresscontroler.php przez dopisanie odpowiednich if-ów, odkąd w 1.6 vat_number zaczął pojawiać się po wpisaniu pola company, automatycznie takie rozwiązanie przestało działać. 

 

Proszę o pomoc, cały dzień dzisiaj nad tym spędziłem i żadnych rezultatów.

Link to comment
Share on other sites

  • 0

Tak jak wspomniałem na początku, jest to jakiekolwiek rozwiązanie jakie znalazłem 

 

 

 

Idea jest następująca, w kilku multisklepach wymagane jest pole vat_number, ideałem było by tez pole company. W pozostałych sklepach nie ma takiego wymogu. Nie znalazłem takiego rozwiązania lub modułu jedyne zaczątki jakiegokolwiek rozwiązania to wymagane vat_number po wpisaniu w pole company, lecz poległem na edycji vatmenagment.js.

 

Wtedy mam możliwość stworzenia drugiego Kraju również pod nazwą Polska, który potem przypiszę do danego sklepu. Jeden dla hurtowni z company i vat_number drugi dla detalu bez pola company i vat_number. Także powyższa sytuacja nie będzie mieć miejsca, a ewentualne informację o adresie będzie można dopisać w drugiej linijce adresu bądź uwagach(będzie to wskazane podpowiedzią pod daną komórką formularza).

 

 

Niestety ale nie mam pojęcia jak zabrać się za edycję vatmenagment.js. w połączeniu z odpowiednią edycją tpl.

Link to comment
Share on other sites

  • 0

NIP to DNI francuski nip. Prawidłowy nip do obsługi w Polsce to vat_number, które swoją drogą musi być bo w linkerze do łączenia z systemem ERP będzie istotny.

Więc to rozwiązania odpada.

 

Drugie rozwiązanie już sprawdzałem, przy jednym  założeniu na jednej instalacji się sprawdzi. np. same hurtownie.

 

 

 

Jeżeli rozumie dobrze propozycję. Zmiana w klasie vat_number w Address.php przez dopisania required. Jeżeli tak to poskutkuję to wymogiem pola vat_number we wszystkich formularzach rejestracyjnych we wszystkich sklepach, spiętych pod multistore.
Link to comment
Share on other sites

  • 0

 

Nip wyłączony backoffisie.

 

Pole vat_number przetłumaczyłem jako NIP, w pliku /tools/vatManagement,js uzupełniłem kod by dodawał odpowiednie klasy "required" do vat_number jeśli klient wypełni pole z nazwą firmy. W pliku AddressController.php do metody processSubmitAddress() dodałem kod sprawdzający i wymuszający na kliencie podanie NIP-u jak podał nazwę firmy:

if (Tools::getValue('company') !='')

            if (!Tools::getValue('vat_number'))

                $this->errors[] = Tools::displayError('NIP jest wymagany!');

 

Teraz klient podając adres może podać nazwę firmy i będzie musiał podać NIP lub nie podaje nazwy firmy i nie musi podawać nr NIP. Pole NIP jest ukryte do momentu wprowadzenia nazwy firmy.

 

Znalazłem coś takiego, o ile z edycją tpl nie ma problemu, to nie wiem co powinienem dokładnie wpisać w vat_managment.js?? Możecie mi pomóc z edycją tego pliku,

 

 

Co do dopisania required w samym tpl nie działa tak jak wspominałem. w preście 1.5 działało ale odkąd jest wysuwane pole przez js w 1.6 już nie działa.

Link to comment
Share on other sites

  • 0

ostatnia wskazowka

najprosciej byloby wiec ustawic required w address.php

a w .tpl ktore nie wymagaja vat w inpucie vat_number dac value="0" lub costam

wtedy w sklepie b2b bedziesz mial wymagalne pole a w pozostalych ten nip 0 nie bedzie przeszkadzal ci chyba

Link to comment
Share on other sites

  • 0

Pytanie gdzie rodzielane są multisklpey w tpl lub poszczegolne kraje do edycij, czy przypadkiem nie odpowiada za to jeden tpl dla wszytskich krajów lub sklepów.

 

Szukam tego rodzielenia i jak narazie nic.

 

Wspomne jeszcze że korzystam z jednej templatki(kupczej) do wszytskich multisklepów.

Edited by andrzej.k89 (see edit history)
Link to comment
Share on other sites

  • 0
address.tpl

<input type="text" class="form-control validate" data-validate="{$address_validation.$field_name.validate}" id="vat-number" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html':'UTF-8'}{/if}{/if}" />

na

<input type="text" class="form-control validate" data-validate="{$address_validation.$field_name.validate}" id="vat-number" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html':'UTF-8'}{else}0{/if}{/if}" />

 

order-opc-new-account.tpl i order-opc-new-account-advanced.tpl

<input type="text" class="text form-control" name="vat_number" id="vat_number" value="{if isset($guestInformations) && isset($guestInformations.vat_number) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}" />

na

<input type="text" class="text form-control" name="vat_number" id="vat_number" value="{if isset($guestInformations) && isset($guestInformations.vat_number) && $guestInformations.vat_number}{$guestInformations.vat_number}{else}0{/if}" />

 

value="{if isset($guestInformations) && isset($guestInformations.vat_number) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}"

value="{if isset($guestInformations) && isset($guestInformations.vat_number) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}"

 

authentication.tpl

<input type="text" class="form-control" id="vat_number" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" />

na

<input type="text" class="form-control" id="vat_number" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}0{/if}" />

 

co na obiad ugotowac? :P

Edited by hatak (see edit history)
  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...