GrowSitedevelopers

Bloki, targeting i kolejność

Definicje, instancje, zagnieżdżanie i bloki statyczne.

Bloki, targeting i statyczne elementy

W pliku rodzica:

json
{
  "blocks": [{ "type": "card" }, { "type": "_signature" }],
  "max_blocks": 12
}

Jawne nazwy ograniczają listę dostępnych bloków. @theme dopuszcza publiczne definicje; nazwy zaczynające się od _ wymagają jawnego wskazania. Aby blok pojawił się w pickerze, musi mieć presets z nazwą.

Bloki dynamiczne renderujesz w kolejności block_order:

html
<template gs-slot="blocks"></template>

Stały blok osadzasz w konkretnym miejscu:

html
<template gs-block="_signature" gs-id="signature"></template>

Typ i ID są literałami. Blok stały ma edytowalne ustawienia, ale nie przyciski przenoszenia i usuwania. Renderuje się z domyślnymi wartościami także wtedy, gdy nie ma jeszcze zapisanych danych. Aby pokazać jego ustawienia od początku, wpisz go do danych szablonu z static: true. Nie dodawaj jego ID do block_order.

json
{
  "title": "Home",
  "sections": {
    "hero": {
      "type": "hero",
      "blocks": {
        "signature": { "type": "_signature", "static": true },
        "first-card": { "type": "card", "settings": { "title": "Oferta" } }
      },
      "block_order": ["first-card"]
    }
  },
  "order": ["hero"]
}

API również sprawdza targeting, typy ustawień, limity i identyfikatory statyczne. Ukrycie kontrolki w panelu nie jest jedynym zabezpieczeniem.

Definicja a instancja

blocks/card.html to jedna definicja. first i second w danych strony to niezależne instancje z własnymi ustawieniami. Korzystaj z block.settings, nie ze stałego ID konkretnej karty. Wstawienie typu do blocks rodzica dopuszcza jego dodawanie, ale samo nie tworzy instancji.

Kolejność wyznacza block_order, nie kolejność kluczy obiektu JSON. Prywatna nazwa _signature nie czyni bloku statycznym — decyduje osadzenie przez tag z konkretnym ID. Targeting dynamiczny dotyczy elementów renderowanych przez gs-slot="blocks".

Sprawdzenie zachowania

Dodaj dwie karty z różnymi tytułami. Zamień ich kolejność, zapisz i odśwież. Usuń jedną i sprawdź, czy druga zachowała ustawienia. Zmień podpis statyczny i sprawdź brak opcji usunięcia. Zweryfikuj pusty tytuł, promień 0 oraz wyłączony checkbox. Przy zagnieżdżeniu nie buduj ścieżek pól ręcznie.

Pobierz kopię Markdown
Wyniki · 22
Komponenty GS Loom UI

Wspólne komponenty, warianty i style motywów.

Katalog czcionek

Dostępne kroje, podgląd i deklarowanie czcionek w GS Loom.

Menu i nawigacja

Tworzenie menu, podłączanie linków i stylowanie nawigacji.

Blog i komentarze

Blog i komentarze

SEO i kontrakt pluginów

SEO i kontrakt pluginów

Pierwszy szablon krok po kroku

Kompletna paczka, instalacja i pierwsza edycja.

GS Loom Playground

Testuj szablony lokalnie bez API, bazy danych i uploadu.

Architektura i pliki

Jak pliki autora stają się stroną klienta.

Schema i ustawienia

Typy kontrolek, wartości domyślne i stabilne identyfikatory.

Bloki, targeting i kolejność

Definicje, instancje, zagnieżdżanie i bloki statyczne.

Edycja na podglądzie

Podłącz tekst, karty, obrazy i ikony do kreatora.

Teksty i nagłówki

Od schema do edycji tekstu, typografii i zapisu.

Przyciski i linki

Tekst, adresy, kolory, wymiary i dostępne stany.

Inputy i pola formularzy

Typy pól, etykiety, opcje, limity i walidacja.

Formularze krok po kroku

Instancje, powiązanie z witryną, wysyłka i obsługa błędów.

Karty, ikony, obrazy i badge

Wygląd kontenerów, rozmiary ikon i edycja mediów.

Źródła dynamiczne

Dane witryny, podstrony i wartości zapasowe.

Layouty i wspólne ustawienia

Grupy sekcji, konfiguracja globalna i podstrony.

Języki i tłumaczenia

Języki startowe, języki dodawane przez klienta i tłumaczenia AI.

Snippets, CSS i pliki

Wspólny kod, responsywny wygląd i bezpieczne adresy.

Testy, import i aktualizacje

Sprawdź paczkę i wydaj ją bez utraty danych klientów.

Możliwości i ograniczenia

Obsługiwany kontrakt GS Loom i praca z AI.