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ę

Komentowanie zawartości tej strony możliwe jest po zalogowaniu



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
      7 770
    • Postów
      37 073
×