Skocz do zawartości
Mistrz Yoda

[modyfikacja] Śledzenie przesyłki Poczty Polskiej w BO/adminorders

Rekomendowane odpowiedzi

Modyfikacja wyświetlająca (śledząca) w BO/adminorders co dzieje się z przesyłką  Poczty Polskiej.

Rozwiązanie oparte o klasę napisaną przez LPodolski: https://github.com/LPodolski/Polish_Post_Tracking/

// Poczta Polska, sprawdzenie historii przesyłki, mod. Mistrz Yoda/Prestadesign.pl

/*
* echo "<pre>"; 
* print_r($carrier);
* echo "</pre>";
*/

if ($carrier->name == "Poczta Polska" and isset($order->shipping_number)){

    require_once 'ścieżka_do_/PolishPostTracking/Api.php';
    require_once 'ścieżka_do_/PolishPostTracking/WseAuthSoapHeader.php';
    require_once 'ścieżka_do_/PolishPostTracking/Exception.php';

try {
    $PolishPostApi   = new \PolishPostTracking\Api;
    $packageTracking = $PolishPostApi->checkPackage($order->shipping_number);

    echo '<br>';
    echo '<table style="font-size:75%; border-collapse:collapse; width:100%"';
    echo '<tbody>';    
    foreach ($packageTracking->danePrzesylki->zdarzenia->zdarzenie as $a) {
    echo '<tr><td style="border: 1px solid #888;">'.$a->czas.' ';
    echo ($a->nazwa == "Doręczenie") ? '<b>'.$a->nazwa.'</b>' : $a->nazwa;
    echo ', '.$a->jednostka->nazwa.'    '.'</td></tr>';
    }
    echo '</tbody>';
    echo '</table>';
} catch (\PolishPostTracking\Exception $E) {

    // in production inform admin by email, save to log file
    echo $E->getMessage();
}
}

Powyższe umieszczamy przed echo w </fieldset>

Efekt:

5b250602a4541_Beznazwy.jpg.04c0fb23f9abf69c88336ccf276328e5.jpg

...nie ma za co. :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Modyfikacja zależności, samo try:

try {
    $PolishPostApi   = new \PolishPostTracking\Api;
    $packageTracking = $PolishPostApi->PP_checkPackage($order->shipping_number);

    echo '<br>';
    echo '<table style="font-size:75%; border-collapse:collapse; width:100%"';
    echo '<tbody>'; 
        if (count($packageTracking->danePrzesylki->zdarzenia->zdarzenie)==1) {
            echo '<tr><td style="border: 1px solid #888;">'.$packageTracking->danePrzesylki->zdarzenia->zdarzenie->czas.' '.$packageTracking->danePrzesylki->zdarzenia->zdarzenie->nazwa.', '.$packageTracking->danePrzesylki->zdarzenia->zdarzenie->jednostka->nazwa.'</td></tr>';
        } else {
            foreach ($packageTracking->danePrzesylki->zdarzenia->zdarzenie as $a) {
            echo '<tr><td style="border: 1px solid #888;">'.$a->czas.' ';
            echo ($a->nazwa == "Doręczenie") ? '<b>'.$a->nazwa.'</b>' : $a->nazwa;
            echo ', '.$a->jednostka->nazwa.'    '.'</td></tr>';
            }
        }
    echo '</tbody>';
    echo '</table>';
}

usuwa problem jednej linii. :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7627
    • Postów
      36737
×