You are here

class Tracking in Ubercart 8.4

Display tracking numbers of shipped packages.

Plugin annotation


@UbercartOrderPane(
  id = "tracking",
  title = @Translation("Tracking numbers"),
  weight = 7,
)

Hierarchy

Expanded class hierarchy of Tracking

File

shipping/uc_fulfillment/src/Plugin/Ubercart/OrderPane/Tracking.php, line 18

Namespace

Drupal\uc_fulfillment\Plugin\Ubercart\OrderPane
View source
class Tracking extends OrderPanePluginBase {

  /**
   * {@inheritdoc}
   */
  public function getClasses() {
    return [
      'pos-left',
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function view(OrderInterface $uc_order, $view_mode) {
    if ($view_mode == 'customer' || $view_mode == 'view') {
      $tracking = [];
      $shipments = Shipment::loadByOrder($uc_order
        ->id());
      foreach ($shipments as $shipment) {
        if ($shipment
          ->getTrackingNumber()) {
          $tracking[$shipment
            ->getCarrier()][] = $shipment
            ->getTrackingNumber();
        }
        else {
          foreach ($shipment
            ->getPackages() as $package) {
            if ($package
              ->getTrackingNumber()) {
              $tracking[$shipment
                ->getCarrier()][] = $package
                ->getTrackingNumber();
            }
          }
        }
      }

      // Do not show an empty pane to customers.
      if ($view_mode == 'view' || !empty($tracking)) {
        $build = [];
        foreach ($tracking as $title => $list) {
          $build[$title] = [
            '#theme' => 'item_list',
            '#title' => $title,
            '#items' => $list,
          ];
        }
        if (empty($tracking)) {
          $build = [
            '#markup' => $this
              ->t('No tracking numbers have been entered.'),
          ];
        }
        return $build;
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
OrderPanePluginBase::calculateDependencies public function
OrderPanePluginBase::getTitle public function Returns the title of an order pane. Overrides OrderPanePluginInterface::getTitle 2
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
Tracking::getClasses public function Returns the classes used to wrap an order pane. Overrides OrderPanePluginBase::getClasses
Tracking::view public function Returns the contents of an order pane as a store administrator. Overrides OrderPanePluginInterface::view