Mit Hilfe der JetEngine Plugins von crocoblock können Sie einfach Daten aus unserer Software auf Ihrer WordPress Seite anzeigen.
Gehen Sie wie folgt vor:
Vorbereitung
- Fordern Sie über unsere REST-Schnittstelle (Funktion: /nonexptoken) einen nicht verfallenden Token an. Sie können dafür Swagger auf unserer Schnittstelle oder Postman verwenden.
- Kaufen Sie das Plugin JetEngine von crocoblock und installieren Sie es in Ihrem WordPress.
Erstellen eines REST API Endpoints
Gehen Sie gemäss Beschreibung How to set the connection between two websites using the REST API? auf der Seite JetEngine: How to Display Custom Content Type Items Using REST API vor und verwenden Sie folgende Angaben:
- API Endpoint URL: https://api.beyond-sw.ch/kurse (oder ersetzen Sie kurse durch eine andere Entität unserer Schnittstelle.
- Items path: value
- Authorization: Ja
- Authorization type: Bearer Token
- Bearer token: Setzen Sie den Token ein, den Sie bei der Vorbereitung in Schritt 1 erhalten haben.
Beachten Sie
Aus Performance- und Speicherplatz-Gründen ist es sinnvoll über $select und/oder $filter in der URL die Menge der abzufragenden Daten einzuschränken.
Beispiel:
/Kurse?$select=kursId,titel&$filter=istAnmeldungMoeglich eq true
Zudem ist es evtl. nötig die pagesize anzupassen, damit mehr als 100 Einträge über die Schnittstelle zurückgegeben werden.
Beispiel:
/Kurse?$select=kursId,titel&$filter=istAnmeldungMoeglich eq true&pagesize=500
Erstellen einer Query mit Query Builder
Gehen Sie gemäss Beschreibung How to Set Up REST API Query Type? auf der Seite JetEngine: Query Builder REST API Query Type vor und verwenden Sie folgende Angaben:
- Query Type: REST API Query
- From Endpoint: Name des vorher erstellen Endpoints
- Query:
- Key: OData Schlüsselwort (z.B. $select, $filter, $orderby)
- Value: OData Ausdruck
Beachten Sie
Aus Performance- und Speicherplatz-Gründen ist es sinnvoll über $select und/oder $filter in der URL die Menge der abzufragenden Daten einzuschränken.
Verwenden Sie bei der Beschreibung Erstellen einer Query mit Query Builder bei Query Key und Value die Parameter $select und/oder $filter.
Zudem ist es evtl. nötig die pagesize anzupassen, damit mehr als 100 Einträge über die Schnittstelle zurückgegeben werden.
Verwenden von Querystring-Parameter in einer Query
Um eine Query mit Werten aus einem Querystring filtern zu können, gehen Sie wie folgt vor:
- Wählen Sie beim $filter-Key als Value Query Variable
- Unter Advanced settings setzen Sie bei Before und After den OData-Filter-Ausdruck zusammen
Verwenden Sie z.B. das PlugIn Code Snippets um diesen Code einzufügen:
add_filter( 'jet-engine/rest-api-listings/request/query-args', function( $query_args ) {
foreach ( $query_args as $index => $value ) {
$query_args[ $index ] = wp_specialchars_decode( stripslashes($value), ENT_QUOTES );
}
return $query_args;
} );
Erstellen einer Sub Query mit Query Builder
Gehen Sie gemäss Beschreibung Set Up a Sub Query to Retrieve the Array of Objects auf der Seite JetEngine: How to Display Array Elements from REST API Endpoint Using Sub Query Addon vor und verwenden Sie folgende Angaben:
- Query Type: Sub Query
- Parent Object Property: Name der NavigationProperty der Query des umschliessenden Listings ($expand in der umschliessenden Query definieren)
- Erstellen Sie im Item Schema für jede Property, die Sie im verschachtelten Listing verwenden wollen, einen Eintrag
Beachten Sie
Aus Performance- und Speicherplatz-Gründen ist es sinnvoll über $select und/oder $filter in der URL die Menge der abzufragenden Daten einzuschränken.
Verwenden Sie bei der Beschreibung Erstellen einer Query mit Query Builder bei Query Key und Value die Parameter $select und/oder $filter.
Zudem ist es evtl. nötig die pagesize anzupassen, damit mehr als 100 Einträge über die Schnittstelle zurückgegeben werden.
Dynamischen Link erstellen
Wollen Sie in einem auf auf dem Query Builder basierenden Listing einen Link erzeugen, der als Bestandteil der Url ein Feld aus der Query Builder verwendet, dann gehen Sie wie folgt vor:
- Erstellen Sie eine Options Page (unter JetEngine -> Options Page) und verwenden Sie folgende von den vorgegebenen Optionen abweichenden Einstellungen:
- Page title: Frei zu wählender Name, z.B. AnmeldeLink
- Menu name: Frei zu wählender Name, z.B. AnmeldeLink
- Menu position: Frei wählbar
- Fügen Sie ein Feld ein:
- Label: Frei zu wählender Name, z.B. Url
- Navigieren Sie zu der Position, die Sie unter 1.3. gewählt haben
- Erfassen Sie im Feld die gesamte Url, die vor dem dynamischen Teil stehen soll. Z.B. https://test.ch/anmeldung/
- Wechseln Sie zum Shortcode Generator (unter JetEngine -> Shortcode Generator) und wählen Sie folgende Optionen:
- Source: Post/Term/User/Object Data
- Title: wählen Sie aus dem REST API das Feld(die REST API, auf der das Query basiert, auf dem das Listing basiert), das Sie in der Url dynamisch zufügen wollen
- Kopieren Sie den generierten Shortcode
- Wechseln Sie zum Macros Generator und wählen Sie folgende Optionen:
- Macros: Shortcode result
- Shortcode: Fügen Sie den unter 4.3. kopieren Shortcode ein
- Kopieren Sie das generierte Makro
- In Ihrem Listing fügen Sie ein Dynamic Link zu und setzen folgende Optionen:
- Source: Options
- Option: Name, den Sie unter 1.1. gewählt haben
- Add Query Arguments: Yes
- Query Arguments: Geben Sie den Namen der gewünschten QueryVariable gefolgt von einem = Zeichen gefolgt von dem unter 5.3. kopierten Makro: z.B.
_kursId=%shortcode_result|[jet_engine_data dynamic_field_post_object="kursId"]%
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.