Jump to content

Edit History

Krychu

Krychu

Cześć. Minęło 5 lat ale myślę, że problem wciąż jest aktualny. Jako że ten post wyświetlił mi się w tematyce tego problemu w google najwyżej to pomimo tych kilku lat odpiszę, bo może przydać się to jeszcze innym osobom.

Rozwiązanie nie jest najlepsze na świecie jednak działa.

Na podstawie języka strony ustawimy domyślny kraj strony i odpowiedniego przewoźnika. Rozwiązanie ma ten minus, że jeżeli kiedykolwiek będziemy chcieli dodać kolejnego przewoźnika lub usunąć starego, to będziemy musieli odpowiednio edytować ID w dodanym kodzie.

Nie jestem programistą. Rozwiązanie traktuje po prostu jako skuteczne. Wiem, że da się to zrobić o wiele lepiej. Jeśli ktoś ma chęć to chętnie poprawie kod również u siebie. Na ten moment nie znalazłem innych rozwiązań. Co by nie było - lepszy rydz niż nic. :)

Otwieramy plik: classes/Cart.php. Odnajdujemy funkcje "public function getPackageShippingCost(", a następnie linijkę kodu:

if (!$default_country) {
	$default_country = Context::getContext()->country;
}

 

Edytujemy ją na:

if($this->id_address_delivery == 0){
  if (!$default_country) {
      switch($this->id_lang) {
          case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
          case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;

          //jeśli nie dopasuje żadnego języka to pobierz domyślny kraj z Międzynarodowy -> Lokalizacja -> Domyślny kaj oraz nie zmieniaj domyślnego przewoźnika
          default: $default_country = Context::getContext()->country; break;
      }
  }
}
else{
	$default_country = Context::getContext()->country;
}

 

Te rozwiązanie przygotowane jest na 2 języki/kraje i koszty wysyłki na stronie. Jak chcemy to dodajemy odpowiednio kolejne case.

Oczywiście w momencie składania zamówienia po wybraniu konkretnego kraju przez użytkownika, koszty odpowiednio się dopasują.

Pozdrawiam. :)

Krychu

Krychu

Cześć. Minęło 5 lat ale myślę, że problem wciąż jest aktualny. Jako że ten post wyświetlił mi się w tematyce tego problemu w google najwyżej to pomimo tych kilku lat odpiszę, bo może przydać się to jeszcze innym osobom.

Rozwiązanie nie jest najlepsze na świecie jednak działa.

Na podstawie języka strony ustawimy domyślny kraj strony i odpowiedniego przewoźnika. Rozwiązanie ma ten minus, że jeżeli kiedykolwiek będziemy chcieli dodać kolejnego przewoźnika lub usunąć starego, to będziemy musieli odpowiednio edytować ID w dodanym kodzie.

Nie jestem programistą. Rozwiązanie traktuje po prostu jako skuteczne. Wiem, że da się to zrobić o wiele lepiej. Jeśli ktoś ma chęć to chętnie poprawie kod również u siebie. Na ten moment nie znalazłem innych rozwiązań. Co by nie było - lepszy rydz niż nic. :)

Otwieramy plik: classes/Cart.php. Odnajdujemy funkcje "public function getPackageShippingCost(", a następnie linijkę kodu:

if (!$default_country) {
	$default_country = Context::getContext()->country;
}

 

Edytujemy ją na:

if (!$default_country) {
	switch($this->id_lang) {
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
          
        //jeśli nie dopasuje żadnego języka to pobierz domyślny kraj z Międzynarodowy -> Lokalizacja -> Domyślny kaj oraz nie zmieniaj domyślnego przewoźnika
		default: $default_country = Context::getContext()->country; break;
	}
}

 

Te rozwiązanie przygotowane jest na 2 języki/kraje i koszty wysyłki na stronie. Jak chcemy to dodajemy odpowiednio kolejne case.

Oczywiście w momencie składania zamówienia po wybraniu konkretnego kraju przez użytkownika, koszty odpowiednio się dopasują.

Pozdrawiam. :)

Krychu

Krychu

Cześć. Minęło 5 lat ale myślę, że problem wciąż jest aktualny. Jako że ten post wyświetlił mi się w tematyce tego problemu w google najwyżej to pomimo tych kilku lat odpiszę, bo może przydać się to jeszcze innym osobom.

Rozwiązanie nie jest najlepsze na świecie jednak działa.

Na podstawie języka strony ustawimy domyślny kraj strony i odpowiedniego przewoźnika. Rozwiązanie ma ten minus, że jeżeli kiedykolwiek będziemy chcieli dodać kolejnego przewoźnika lub usunąć starego, to będziemy musieli odpowiednio edytować ID w dodanym kodzie.

Nie jestem programistą. Rozwiązanie traktuje po prostu jako skuteczne. Wiem, że da się to zrobić o wiele lepiej. Jeśli ktoś ma chęć to chętnie poprawie kod również u siebie. Na ten moment nie znalazłem innych rozwiązań. Co by nie było - lepszy rydz niż nic. :)

Otwieramy plik: classes/Cart.php. Odnajdujemy funkcje getPackageShippingCost, a następnie linijkę kodu:

if (!$default_country) {
	$default_country = Context::getContext()->country;
}

 

Edytujemy ją na:

if (!$default_country) {
	switch($this->id_lang) {
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
          
        //jeśli nie dopasuje żadnego języka to pobierz domyślny kraj z Międzynarodowy -> Lokalizacja -> Domyślny kaj oraz nie zmieniaj domyślnego przewoźnika
		default: $default_country = Context::getContext()->country; break;
	}
}

 

Te rozwiązanie przygotowane jest na 2 języki/kraje i koszty wysyłki na stronie. Jak chcemy to dodajemy odpowiednio kolejne case.

Oczywiście w momencie składania zamówienia po wybraniu konkretnego kraju przez użytkownika, koszty odpowiednio się dopasują.

Pozdrawiam. :)

Krychu

Krychu

Cześć. Minęło 5 lat ale myślę, że problem wciąż jest aktualny. Jako że ten post wyświetlił mi się w tematyce tego problemu w google najwyżej to pomimo tych kilku lat odpiszę, bo może przydać się to jeszcze innym osobom.

Rozwiązanie nie jest najlepsze na świecie jednak działa.

Na podstawie języka strony ustawimy domyślny kraj strony i odpowiedniego przewoźnika. Rozwiązanie ma ten minus, że jeżeli kiedykolwiek będziemy chcieli dodać kolejnego przewoźnika lub usunąć starego, to będziemy musieli odpowiednio edytować ID w dodanym kodzie.

Nie jestem programistą. Rozwiązanie traktuje po prostu jako skuteczne. Wiem, że da się to zrobić o wiele lepiej. Jeśli ktoś ma chęć to chętnie poprawie kod również u siebie. Na ten moment nie znalazłem innych rozwiązań. Co by nie było - lepszy rydz niż nic. :)

Otwieramy plik: classes/Cart.php. Odnajdujemy funkcje getPackageShippingCost, a następnie linijkę kodu:

if (!$default_country) {
	$default_country = Context::getContext()->country;
}

 

Edytujemy ją na:

if (!$default_country) {
	switch($this->id_lang) {
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
          
        //jeśli nie dopasuje żadnego języka to pobierz domyślny kraj z Międzynarodowy -> Lokalizacja -> Domyślny kaj oraz nie zmieniaj domyślnego przewoźnika
		default: $default_country = Context::getContext()->country; break;
	}
}

 

Te rozwiązanie przygotowane jest na 2 języki/kraje i koszty wysyłki na stronie. Jak chcemy to dodajemy odpowiednio kolejne case.

Pozdrawiam. :)

Krychu

Krychu

Cześć. Minęło 5 lat ale myślę, że problem wciąż jest aktualny. Jako że ten post wyświetlił mi się w tematyce tego problemu w google najwyżej to pomimo tych kilku lat odpiszę, bo może przydać się to jeszcze innym osobom.

Rozwiązanie nie jest najlepsze na świecie jednak działa.

Na podstawie języka strony ustawimy domyślny kraj strony i odpowiedniego przewoźnika. Rozwiązanie ma ten minus, że jeżeli kiedykolwiek będziemy chcieli dodać kolejnego przewoźnika lub usunąć starego, to będziemy musieli odpowiednio edytować ID w dodanym kodzie.

Nie jestem programistą. Rozwiązanie traktuje po prostu jako skuteczne. Wiem, że da się to zrobić o wiele lepiej. Jeśli ktoś ma chęć to chętnie poprawie kod również u siebie. Na ten moment nie znalazłem innych rozwiązań. Co by nie było - lepszy rydz niż nic. :)

Otwieramy plik: classes/Cart.php. Odnajdujemy funkcje getPackageShippingCost, a następnie linijkę kodu:

if (!$default_country) {
	$default_country = Context::getContext()->country;
}

 

Edytujemy ją na:

if (!$default_country) {
	switch($this->id_lang) {
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
		case <ID_Języka_strony>: $default_country = new Country(<ID_Kraju_Języka>, $this->id_lang); $id_carrier = <ID_Domyślnego_przewoźnika>; break;
          
        //jeśli podamy jakieś błędne dane to pobierz domyślny kraj z Międzynarodowy -> Lokalizacja -> Domyślny kaj oraz nie zmieniaj domyślnego przewoźnika
		default: $default_country = Context::getContext()->country; break;
	}
}

 

Te rozwiązanie przygotowane jest na 2 języki/kraje i koszty wysyłki na stronie. Jak chcemy to dodajemy odpowiednio kolejne case.

Pozdrawiam. :)

×
×
  • Create New...