Tovább a tartalomhoz

Több kapcsolat elemei egy listában

Két kapcsolat gyermekelemeinek megjelenítése egyetlen Listing Griddel makrókkal és egy UNION-t használó SQL-lekérdezéssel.

Ha egy szülő több kapcsolatából származó elemeket egyetlen listában akarsz mutatni, makrókból SQL-lekérdezést, abból pedig bejegyzés-lekérdezést építesz. Szükséges: Elementor (ingyenes), blokkszerkesztő vagy Bricks, és aktív JetEngine legalább két kapcsolattal.

A példában az Osztályok → Orvosok és az Osztályok → Szolgáltatások kapcsolat van, és az aktuális osztály orvosait és szolgáltatásait egy listában mutatjuk.

  1. Menj a JetEngine → JetEngine → Makrógenerátor oldalra (lásd: Shortcode- és makrógenerátor).
  2. A Macros listából válaszd a Related Items értéket.
  3. A From Relation legyen az Osztályok → Orvosok kapcsolat, a From Object (what to show) legyen Child Object, az Initial Object ID From pedig Aktuális objektum ID-ja. A többi mező maradhat üresen.
  4. Az oldal alján megjelenik a makró. Másold ki és mentsd el.
  5. Válaszd ki a második kapcsolatot (Osztályok → Szolgáltatások), és mentsd el a második makrót is.
  1. A JetEngine → Lekérdezéskészítő oldalon kattints az Új hozzáadása gombra.
  2. Add meg a nevet, a típus legyen SQL/AI lekérdezés.
  3. Az egyéni SQL-lekérdezés részben kapcsold be a Advanced/AI mode kapcsolót.
  4. Az SQL-lekérdezés mezőbe írd be a következőt, és a példában szereplő %rel_get_items|23|…% és %rel_get_items|11|…% makrók helyére illeszd be a saját makróidat:
SELECT ID
FROM {prefix}posts
WHERE ID IN (
SELECT ID FROM {prefix}posts WHERE ID IN (
%rel_get_items|23|child_object|current_object|%{"fallback":"0"}
)
UNION
SELECT ID FROM {prefix}posts WHERE ID IN (
%rel_get_items|11|child_object|current_object|%{"fallback":"0"}
)
)
  1. Kattints az Add Query (módosításnál Update Query) gombra.
  1. Hozz létre új lekérdezést, a típus legyen Bejegyzések lekérdezése.
  2. A Bejegyzés és oldal lapon kattints a Post In mező melletti Dynamic Tag ikonra, és válaszd a Query Results értéket.
  3. Az ablakban a Query mezőben válaszd az SQL-lekérdezést, a Return mezőben a List of items IDs értéket, és kattints az Alkalmaz, majd a mentés gombra.
  1. Hozz létre listázási elemet a Lekérdezéskészítő forrással, a bejegyzés-lekérdezést választva forrásnak, és tedd közzé.
  2. Az Osztályok önálló sablonjában tegyél fel egy Listing Grid elemet a listázási elemmel.
  3. Az Egyéni lekérdezés lapon ne válassz egyetlen lekérdezést sem. A lekérdezés már a listázási elem forrása, és ha még egyszer megadod, a lista üres lesz.
  4. Tedd közzé a sablont.

Az eredmény: egy osztály oldalán az osztály összes orvosa és szolgáltatása egy listában jelenik meg.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások