Przejdź do głównej zawartości

Zmienne zagnieżdżone

Możesz umieścić {innaZmienna} wewnątrz wartości zmiennej. Gdy plugin rozwiązuje zewnętrzną zmienną, rozwiązuje też wszelkie wewnętrzne referencje, jakie tam znajdzie.

Zdefiniuj dwie zmienne:

KluczWartość
shopName(wbudowana: np. Acme Store)
shopAddress(wbudowana: np. Ulica 1, 00-001 Warszawa)
companyInfo{shopName} — {shopAddress}

Teraz wpisanie {companyInfo} na stronie CMS daje:

Acme Store — Ulica 1, 00-001 Warszawa

Jeden poziom. Gdy plugin zastępuje {companyInfo}, rozwiązuje referencje {shopName} i {shopAddress} wewnątrz wartości. Gdyby same te wartości zawierały dalsze referencje {...}, nie zostałyby rozwiązane — zostałyby wyrenderowane jako dosłowny tekst.

Limit jednego poziomu jest celowy — zapobiega cyklicznym referencjom i niekontrolowanej ekspansji. Jeśli potrzebujesz głębszej kompozycji, przeprojektuj zmienne tak, aby każdy poziom był jawny.

  • Kompozycja footera{footerSignature} = {shopName} • {shopEmail} • {shopAddress}
  • Bloki prawne{legalFooter} = © {shopName} {currentYear} (currentYear ustaw ręcznie co roku lub własnym jobem)
  • Wielokrotnego użytku dyskleimery{shippingDisclaimer} = Wysyłka obsługiwana przez {fulfillmentPartnerName}
  • Samoreferencji. promotionText zawierający {promotionText} renderuje dosłowny placeholder — wewnętrzna referencja nie jest rozwiązywana po raz drugi, ale może mylić redaktorów. Nie rób tego.
  • Niespodzianek między kanałami. Zagnieżdżony klucz rozwiązuje się w kontekście kanału zewnętrznej zmiennej. Jeśli {companyInfo} jest skonfigurowane globalnie, a {shopName} ma nadpisania per kanał, używana jest wciąż nazwa specyficzna dla kanału, ponieważ kanał pochodzi z żądania storefrontu, a nie z zewnętrznej zmiennej.