Piattaforma di nuova generazioneObsoleto

Estensione della traccia degli ordini

Scopri come personalizzare ed estendere l'implementazione della traccia degli ordini per tenere traccia degli ordini con stati degli ordini personalizzati, aggiungere eventi chiave personalizzati e modificare i criteri di inclusione dello stato di spedizione pronti all'uso per ogni evento chiave

Come associato di un negozio, è possibile tracciare un ordine o una linea d'ordine dal momento in cui l'ordine viene effettuato fino a quando non viene spedito o ritirato e aggiornare i clienti sullo stato corrente e sul tempo di consegna previsto, se necessario.

Definizione di eventi chiave personalizzati per diversi tipi di ordine e metodi di consegna

  1. Creare la seguente struttura di cartelle in SCREEN_EXTENSIONS_HOME, se non già presente.SCREEN_EXTENSIONS_HOME/features/orders
  2. Andare nella cartella SCREEN_EXTENSIONS_HOME/features/orders .
  3. Copiare orders-extension.module.ts da <WORKSPACE>/store-frontend/src/app/features/orders alla cartella <WORKSPACE>/store-frontend/store-extensions-src/app/features/orders .

    Se orders-extension.module.ts è già presente, non copiare il file. I provider e gli eventi chiave personalizzati sono dichiarati in questo file.

  4. Per creare un nuovo evento chiave, effettuare le seguenti operazioni:
    1. Eseguire il comando:
      ng g c /features/orders/modals/track-order-modal/components/<componentName>
      --project=store-extensions --skip-import
    2. Aggiornare il nome della classe milestone nelle dichiarazioni e nella proprietà exports del decoratore @NgModule in orders-extension.module.ts.
  5. Registrare il nuovo evento chiave in track-order.config.ts.

    Copiare il file track-order.config.ts da <WORKSPACE>/store-frontend/src/app/features/orders/config nella cartella <WORKSPACE>/store-frontend/store-extensions-src/app/features/orders/config e aggiornare la configurazione.

Il seguente esempio mostra come aggiungere un evento chiave personalizzato, OrderPlaced:
static TrackOrderConfigList: ITrackOrderConfig =  {
     '0001': {
           SHP: [
               {
                      tid: 'OrderPlaced',
                      milestoneDescriptionKey: 'trackOrderModal.LABEL_OrderPlaced',
                      fromStatus: '',
                      toStatus: '1100.70.06.10',
                      component: OrderPlacedMilestoneComponent
               }
           ]
      }
}

Qui, 0001 è l'ordine di vendita OrderType e SHP è il metodo di consegna.

La seguente tabella ITrackOrderConfigItem ITrackOrderConfigItem
Tabella 1. ITrackOrderConfigItem proprietà, necessità e descrizioni
Proprietà Obbligatorio Descrizione
tid

{string}

Vero Identificatore univoco per il test del componente dell'evento chiave.
component

{component}

Vero Riferimento del componente di cui eseguire il rendering per l'evento chiave.
milestoneDescriptionKey

{string}

Vero Testo della descrizione per l'evento chiave.
statusValue

{string}

N Correggere lo stato per l'evento chiave. statusValue ha una priorità maggiore di fromStatus e toStatus.
fromStatus

{string}

N Stato di avvio per l'obiettivo.
toStatus

{string}

N Stato finale per l'obiettivo.

Modifica dei criteri di inclusione dello stato della spedizione pronti per l'uso per ogni punto cardine

In track-order.config.ts, per il punto cardine che si desidera modificare, modificare i valori fromStatus e toStatus per l'intervallo richiesto.

È anche possibile sostituire un evento chiave esistente con un nuovo evento chiave personalizzato CustomMilestoneComponent come mostrato nel seguente esempio di specifica JSON:
static TrackOrderConfigList: ITrackOrderConfig =  {
     '0001': {
           SHP: [
               {
                      tid: 'Custom',
                      milestoneDescriptionKey: 'trackOrderModal.LABEL_Custom',
                      fromStatus: '1100',
                      toStatus: '1400',
                      component: CustomMilestoneComponent
               }
           ]
      }
}

Modifica dello stile di un componente dell'evento chiave esistente

Creare un punto cardine con lo stesso nome nella cartella <WORKSPACE>/store-frontend/store-extensions-src/app/features/orders/modals/track-order-modal/components .