Értékelések a felhasználói profiloldalon
Egy felhasználó írt értékeléseinek, valamint a bejegyzéseire kapott értékelések átlagának és számának kiírása a JetEngine Profile Builder egyedi felhasználói oldalán.
Két gyakori feladat a felhasználói profiloldalon: kiírni az összes értékelést, amelyet a felhasználó írt, és kiírni a felhasználó bejegyzéseire kapott értékelések átlagát, számát és listáját. Mindkettő SQL-lekérdezéssel megy, a jet_reviews adatbázistáblából.
Követelmények
Szekció neve “Követelmények”- A JetEngine, az egyedi felhasználói oldallal (Profile Builder).
- A JetReviews.
- Az első feladathoz Elementor (ingyenes változat is elég) vagy a blokkszerkesztő.
A felhasználó által írt értékelések
Szekció neve “A felhasználó által írt értékelések”1. Az egyedi felhasználói oldal beállítása
Szekció neve “1. Az egyedi felhasználói oldal beállítása”- Hozz létre egy statikus oldalt az Oldalak menüben.
- Nyisd meg a JetEngine → Profile Builder oldalt, kapcsold be a Single user page kapcsolót, és a hasonló nevű mezőben válaszd ki az új oldalt.
- Készíts egy sablont, amely majd az értékeléseket mutatja, és rendeld hozzá a User Page rész egyik eleméhez.
- Kattints a Save gombra.
2. SQL-lekérdezés
Szekció neve “2. SQL-lekérdezés”- Nyisd meg a JetEngine → Lekérdezéskészítő oldalt, és add hozzá az új lekérdezést.
- A Lekérdezés típusa legyen SQL/AI lekérdezés, a From table mezőben pedig
jet_reviews. - A Where feltételnél hasonlítsd össze az értékelés szerzőjét a lekérdezett felhasználóval: Column
author, Compare Equal, Value a Queried user ID makró. - Mentsd a lekérdezést (Add/Update Query).
3. Listaelem
Szekció neve “3. Listaelem”- Nyisd meg a JetEngine → Listázások/komponensek oldalt, és kattints az Új elem hozzáadása gombra.
- A Listing source értéke legyen Query Builder, és válaszd ki az előbb létrehozott SQL-lekérdezést.
- Kattints a Create Listing Item gombra.
- A Dynamic Field widgettel írd ki az értékelés adatait: az Object Field listában minden elérhető mező megtalálható. Annyi widgetet tegyél a sablonra, amennyi mező kell.
- Mentsd a sablont (Publish/Update).
4. A lista a profiloldalon
Szekció neve “4. A lista a profiloldalon”- Nyisd meg az Elementorban a profiloldalhoz rendelt sablont.
- Tedd rá a Listing Grid widgetet, válaszd ki a létrehozott listasablont, és mentsd.
- Nézd meg a profiloldalt: a felhasználó összes értékelése megjelenik.
A felhasználó bejegyzéseire kapott értékelések
Szekció neve “A felhasználó bejegyzéseire kapott értékelések”Itt azokat az értékeléseket gyűjtöd össze, amelyeket mások a felhasználó bejegyzéseihez írtak, és kiírod az átlagukat, a darabszámukat és a listájukat.
SQL-lekérdezés
Szekció neve “SQL-lekérdezés”- A JetEngine → Lekérdezéskészítő oldalon add hozzá az új lekérdezést, a Lekérdezés típusa legyen SQL/AI lekérdezés.
- Az Egyedi SQL-lekérdezés (Custom SQL Query) lapon a From table értéke
jet_reviews, és kapcsold be a Use Join kapcsolót. - Kapcsold hozzá a
poststáblát. A Join Type legyen Inner Join; a When current table column értékeID, az Is equal to other table column értékepost_id. - Add meg a Where feltételeket:
- Column
posts.post_author, Compare Equal, Value Queried user ID, Type Numeric. Így a lekérdezett felhasználó bejegyzései jönnek. - Column
posts.post_type, Compare Equal, Value a kívánt bejegyzéstípus slugja. - Egy harmadik feltétellel kizárhatod azokat az értékeléseket, amelyeket a szerző a saját bejegyzéséhez írt. Ha ezeket is be akarod számítani, hagyd ki.
- Column
- Kattints az Add Query gombra.
Az átlag és a darabszám
Szekció neve “Az átlag és a darabszám”- Nyisd meg Elementorban a Profile Builderben beállított profilsablont.
- Tegyél rá egy Heading widgetet, és kattints a dinamikus címke ikonra.
- Válaszd a Dynamic Function címkét. A Function értéke legyen SQL Query Results, a Query Column a
rating, az Additional Function pedig Average. - Az Advanced lapon a Before és After mezővel szöveget írhatsz a szám elé és mögé.
- Egy második Heading widgetbe a darabszám kerül: válaszd a Query Results Count makrót és a létrehozott lekérdezést; a Returned Count maradjon az alapértéken. Itt is használhatod a Before és After mezőt.
- Mentsd a sablont, és nézd meg a profiloldalt: az átlag és az értékelések száma megjelenik.
Az értékelések listája
Szekció neve “Az értékelések listája”- A JetEngine → Listázások/komponensek oldalon add hozzá az új elemet. A Listing source értéke legyen Query Builder, válaszd ki az SQL-lekérdezést, és adj nevet a sablonnak.
- A szerkesztőben Dynamic Field widgetekkel írd ki a lekérdezés mezőit. Az adatot a Query objektum alatti mezőkből kell választani, különben nem jelenik meg semmi.
- A szerzőhöz egy Dynamic Field widgetben az
authorforrást használd. Ez a felhasználó azonosítóját tárolja; megjelenítendő névvé alakításához olyan visszahívás kell, mint a „Get user data by ID”. Ez alapból nincs a Callback listában, ezért külön kell hozzáadni a webhelyhez egy kis kóddal (a JetEngine visszahívásokat egyéni kóddal lehet bővíteni). - A dátumhoz egy másik Dynamic Field widgetben használd a Format date visszahívást a kívánt dátumformával.
- Mentsd a sablont, majd a profiloldal sablonjába tedd be a Listing Grid widgetet ezzel a listasablonnal.
Az eredmény: a felhasználó profiloldalán megjelenik a bejegyzéseire kapott értékelések átlaga, száma és listája.
Készült: