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.
A makrók előállítása
Szekció neve “A makrók előállítása”- Menj a JetEngine → JetEngine → Makrógenerátor oldalra (lásd: Shortcode- és makrógenerátor).
- A Macros listából válaszd a Related Items értéket.
- 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.
- Az oldal alján megjelenik a makró. Másold ki és mentsd el.
- Válaszd ki a második kapcsolatot (Osztályok → Szolgáltatások), és mentsd el a második makrót is.
SQL-lekérdezés
Szekció neve “SQL-lekérdezés”- A JetEngine → Lekérdezéskészítő oldalon kattints az Új hozzáadása gombra.
- Add meg a nevet, a típus legyen SQL/AI lekérdezés.
- Az egyéni SQL-lekérdezés részben kapcsold be a Advanced/AI mode kapcsolót.
- 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 IDFROM {prefix}postsWHERE 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"} ))- Kattints az Add Query (módosításnál Update Query) gombra.
Bejegyzés-lekérdezés
Szekció neve “Bejegyzés-lekérdezés”- Hozz létre új lekérdezést, a típus legyen Bejegyzések lekérdezése.
- A Bejegyzés és oldal lapon kattints a Post In mező melletti Dynamic Tag ikonra, és válaszd a Query Results értéket.
- 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.
Listázási elem és oldal
Szekció neve “Listázási elem és oldal”- 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é.
- Az Osztályok önálló sablonjában tegyél fel egy Listing Grid elemet a listázási elemmel.
- 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.
- 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: