Am un tip de bloc personalizat numit HomeBlocks. Acest pachet are un câmp de paragrafe care permite mai multe paragrafe.
Apoi plasez (folosind Layout Builder) o instanță a acestui tip de bloc pe pagina mea de pornire (un tip de nod numit Landing Page). În aspectul tipului de bloc am o vizualizare care listează unele dintre paragrafele adăugate la acel bloc specific. Vizualizarea listează paragrafele mele, dar listează toate paragrafele de acest tip. Dacă adaug un filtru contextual pentru ID-ul părinte în vizualizare și setez ca Fixed, valoarea fiind BlockID-ul blocului pe care l-am plasat pe pagina mea de pornire; apoi filtrează numai la cele adăugate la acel bloc. Perfect.
Întrebarea este atunci; cum să setați dinamic acest filtru contextual?
Mă pot gândi la 2 abordări:
- Creați un plugin de filtru contextual care trece BlockID.
- Treceți BlockID din aspect în vizualizare.
M-am uitat la opțiunea 2 cu ceva timp în urmă și am constatat că se lucrează pentru a permite ca argumentele să fie transmise înapoi de la LB; dar suporta doar valori statice (spre deosebire de jetoane).
Opțiunea 1 pare destul de simplă și am configurat-o. Pentru început, pur și simplu transmit înapoi valoarea ID-ului static și aceasta funcționează conform așteptărilor.
Piesa care lipsește aici este cum să obțineți o listă de blocuri (de un anumit tip) care sunt plasate pe un anumit nod?
Am încercat să fac asta cu o vizualizare și pot obține o listă de BlockId-uri ale tuturor blocurilor de acest tip; dar nu pot vedea cum se filtrează la cel folosit pe nodul specific.
Dacă va exista vreodată doar 1 instanță a acestui bloc folosită pe site; apoi pot folosi vizualizarea mea existentă (care listează singurul bloc de acest tip). Nu mă îngrijorează faptul că am mai multe versiuni ale acestui bloc pe o singură pagină; dar încerc să mă adaptez că ar putea fi mai multe pagini cu acest bloc adăugat.