# WooCommerce v2 lekérdezési ciklusok és dinamikus címkék

> A haladó moduláris Kosár, Pénztár és Fiókom elrendezések lekérdezési ciklusai, dinamikus címkéi, feltételei, interakciói és JavaScript-eseményei.

A Bricks WooCommerce-specifikus lekérdezési ciklusokat és dinamikus címkéket ad a haladó moduláris Kosár, Pénztár és Fiókom elrendezésekhez.

Akkor használd őket, ha a [haladó moduláris elemekkel](https://hub.hellowp.io/hu/plugins/bricks-child/woocommerce-modularis-elemek/) építkezel, vagy ha egyéni, kosárfüggő elrendezés kell, például minikosár a **Dinamikus töredék** elemben.

## Lekérdezési ciklusok

A ciklus típusát a **Lekérdezés típusa** vezérlőben választod. A `wooCart` a meglévő Kosár tartalma ciklus. A többi csak akkor jelenik meg, ha a haladó moduláris elemek be vannak kapcsolva.

| Lekérdezés típusa | Felirat a szerkesztőben | Mire jó |
|---|---|---|
| `wooCart` | Kosár tartalma | A látható kosártételek: kosársorok és egyéni minikosár-sorok. |
| `wooCartCoupons` | Pénztár : Felhasznált kuponok | A kosárra felhasznált kuponok. |
| `wooCartFees` | Pénztár : Felhasznált díjak | A kosár díjai. |
| `wooCartTaxes` | Pénztár : Felhasznált adók | A kosár adósorai. |
| `wooOrderItems` | Rendelés : Rendelési tételek | A jelenlegi rendelés tételei. |
| `wooOrderTotals` | Rendelés : Rendelés összesen | A jelenlegi rendelés összegsorai. |
| `wooOrderDownloads` | Rendelés : Rendelés letöltései | A jelenlegi rendelés letölthető tételei. |
| `wooOrderCustomerNotes` | Rendelés : Vásárlói megjegyzések | A jelenlegi rendelés vásárlói megjegyzései. |
| `wooAccountOrders` | Fiók : Rendelések | A vásárló rendelései a Rendelések állapotban. |
| `wooAccountOrderActions` | Fiók : Rendelési műveletek | Az aktuális rendelés műveletei egy `wooAccountOrders` cikluson belül. |
| `wooAccountDownloads` | Fiók : Letöltések | A fiókhoz elérhető letöltések. |
| `wooAccountAddresses` | Fiók : Címek | A számlázási és szállítási címsorok a Címek állapotban. |

A rendelési ciklusok az aktuális rendelés környezetét használják. Ez a környezet megvan a Pénztár v2 Fizetés, Köszönjük és Rendelés visszaigazolása állapotában, a Fiókoldal v2 Megrendelés megtekintése állapotában és a rendelésfüggő fiókciklusokon belül.

## Kosár címkék

Ezeket a `wooCart` ciklusban használd:

| Címke | Mit ad |
|---|---|
| `{woo_cart_product_name}` | A kosártétel terméknevét a WooCommerce kosártétel-metaadataival együtt. |
| `{woo_cart_product_title}` | A termék címe változatattribútumok és más kosártétel-metaadat nélkül. A `:plain` leveszi a termékhivatkozást. |
| `{woo_cart_item_price}` | A formázott egységár. Akciós tételnél az eredeti és a jelenlegi ár is szerepel a WooCommerce akciós ár jelölésével. A `:value` a formázatlan, jelenlegi egységárat adja. |
| `{woo_cart_item_save}` | A teljes tételmennyiségre számolt formázott megtakarítás. A `:value` a formázatlan összeget, a `:percentage` a kedvezmény százalékát adja százalékjel nélkül. |
| `{woo_cart_remove_link}` | Az eltávolító hivatkozás. Ha csak az URL kell: `{woo_cart_remove_link:url}`. |
| `{woo_cart_quantity}` | A mennyiségmező. A számértékhez: `{woo_cart_quantity:value}`. |
| `{woo_cart_subtotal}` | A kosársor részösszege. |

A `wooCart` cikluson belül termékcímkék is használhatók, például `{featured_image}`, `{woo_product_price}`, `{woo_product_sku}` és `{woo_product_gtin}`.

A `{woo_cart_product_title}` akkor jó, ha a termékcímet és a tételadatokat külön elemben vagy stílussal kell megjeleníteni. A `{woo_cart_product_name}` megmarad azoknak az elrendezéseknek, amelyek az összevont kimenetre épülnek (tételmetaadatok, utánrendelési értesítések, WooCommerce kosártétel-horgok).

A `{woo_cart_item_price}` az aktuális kosártétel termékét vagy változatát használja, és követi a bolt kosár adómegjelenítési beállítását. A `{woo_cart_item_save}` ezt az egységárat hasonlítja az eredeti árhoz, majd a pénzbeli megtakarítást megszorozza a tétel mennyiségével.

## Kosártétel adatai elem

A **Kosártétel adatai** elemet egy Kosár tartalma lekérdezési cikluson belülre tedd. A változatattribútumokat és a tételadatokat a terméknévtől külön jeleníti meg.

Az elem akkor is kiírja a változatattribútumokat, ha az értékük szerepel a változat nevében. Kiírja a WooCommerce `woocommerce_get_item_data` szűrőjén át hozzáadott kompatibilis adatokat is, és megőrzi a bővítmények biztonságos, formázott megjelenítési értékeit.

A kimenet vezérlői:

- **Címkék megjelenítése** és **Címke utótagja**. Az alapértelmezett utótag a `:`.
- **Elválasztók megjelenítése** és **Elválasztó**. Az alapértelmezett elválasztó a `/`.
- Elrendezési vezérlők: irány, törés, igazítás, elosztás, sor- és oszloptávolság.
- Tételvezérlők: irány, igazítás, távolság, belső margó, háttér, szegély és doboz-árnyék.
- Címke- és Érték-vezérlők: szélesség, növekedés és zsugorodás, térköz, háttér, szegély, doboz-árnyék és tipográfia.
- Elválasztó tipográfiája és margója.

Ha az elemet Kosár tartalma cikluson kívül használod, vagy az aktuális tételnek nincs tételadata, a weboldalon nem jelenít meg semmit.

## Kosárösszegek és pénztári címkék

Ezek a címkék a kosárban, a pénztárban és a kosárfüggő töredékekben a `wooCart` cikluson kívül is használhatók:

- `{woo_cart_items_count}`
- `{woo_cart_order_subtotal}`
- `{woo_cart_order_total}`
- `{woo_cart_applied_coupon_total_amount}`
- `{woo_cart_applied_fee_total_amount}`
- `{woo_cart_shipping_method}`
- `{woo_cart_shipping_total_amount}`
- `{woo_free_shipping_min_amount}`
- `{woo_free_shipping_remaining}`
- `{woo_free_shipping_progress}`
- `{woo_checkout_current_step_number}`
- `{woo_url}`

Egyes címkék a `:value` szűrővel formázatlan számot adnak a formázott WooCommerce-HTML helyett, például `{woo_cart_shipping_total_amount:value}` és `{woo_free_shipping_progress:value}`.

## Kupon-, díj- és adócímkék

| Lekérdezési ciklus | Címkék |
|---|---|
| `wooCartCoupons` | `{woo_cart_applied_coupon}`, `{woo_cart_applied_coupon_amount}` |
| `wooCartFees` | `{woo_cart_applied_fee}`, `{woo_cart_applied_fee_amount}` |
| `wooCartTaxes` | `{woo_cart_applied_tax_label}`, `{woo_cart_applied_tax_amount}` |

Ha csak az összesített érték kell, használd a cikluson kívüli összegcímkéket: `{woo_cart_applied_coupon_total_amount}` és `{woo_cart_applied_fee_total_amount}`.

## WooCommerce URL címke

A `{woo_url}` címkével a gyakori WooCommerce-oldalak és végpontok URL-jét írhatod ki. Kulcs nélkül a bolt URL-jét adja.

| Címke | Mit ad |
|---|---|
| `{woo_url}` vagy `{woo_url:shop}` | A Bolt oldal URL-je |
| `{woo_url:cart}` | A Kosár oldal URL-je |
| `{woo_url:checkout}` | A Pénztár oldal URL-je |
| `{woo_url:account}` vagy `{woo_url:myaccount}` | A Fiókom oldal URL-je |
| `{woo_url:dashboard}` | A fiók vezérlőpult végpontjának URL-je |
| `{woo_url:orders}` | A fiók rendelések végpontjának URL-je |
| `{woo_url:downloads}` | A fiók letöltések végpontjának URL-je |
| `{woo_url:addresses}` vagy `{woo_url:edit-address}` | A fiók címszerkesztő végpontjának URL-je |
| `{woo_url:edit-account}` | A fiókszerkesztő végpont URL-je |
| `{woo_url:payment-methods}` | A fizetési módok végpontjának URL-je |
| `{woo_url:add-payment-method}` | A fizetési mód hozzáadása végpont URL-je |
| `{woo_url:lost-password}` | Az elfelejtett jelszó végpont URL-je |
| `{woo_url:order-withdrawal}` | A Rendelés elállása végpont URL-je, ha engedélyezve van |
| `{woo_url:customer-logout}` | A kijelentkezés végpont URL-je |
| `{woo_url:terms}` | A WooCommerce általános szerződési feltételek oldalának URL-je |
| `{woo_url:privacy}` | A WooCommerce adatvédelmi oldalának URL-je |

A regisztrált WooCommerce fiókvégpont-lekérdezési változók kulcs szerint is feloldhatók. Ez csak URL-t ad vissza, nem ad hozzá egyéni Fiókoldal v2 állapotot.

## Fiók címkék

A Fiókoldal v2 állapotaiban használhatók.

| Környezet | Címkék |
|---|---|
| Címek állapot | `{woo_account_addresses_description}` |
| `wooAccountAddresses` lekérdezési ciklus | `{woo_account_address_type}`, `{woo_account_address_title}`, `{woo_account_address}`, `{woo_account_address_has_address}`, `{woo_account_address_edit_url}`, `{woo_account_address_action_label}` |
| Cím szerkesztése állapot | `{woo_account_edit_address_title}`, `{woo_account_edit_address_type}`, `{woo_account_edit_address_type_label}` |

### Rendelés elállása címkék

Ezek a címkék haladó moduláris elemeket és olyan WooCommerce-verziót igényelnek, amely tartalmazza a Rendelés elállása funkciót, és az be van kapcsolva. A Fiókoldal v2 **Rendelés elállása** állapotában használd őket.

| Címke | Mit ad |
|---|---|
| `{woo_order_withdrawal_screen}` | Az aktuális képernyő: `form`, `review` vagy `confirmation`. A szerkesztőben üres. |
| `{woo_order_withdrawal_value:first_name}` | A megadott keresztnév. |
| `{woo_order_withdrawal_value:last_name}` | A megadott vezetéknév. |
| `{woo_order_withdrawal_value:email}` | A megadott e-mail-cím. |
| `{woo_order_withdrawal_value:email_confirmation}` | A megadott e-mail-megerősítés. |
| `{woo_order_withdrawal_value:order_number}` | A megadott rendelésszám. |
| `{woo_order_withdrawal_value:withdrawal_type}` | Az elállás típusának kulcsa, például `full_order` vagy `specific_items_only`. |
| `{woo_order_withdrawal_value:withdrawal_type_label}` | Az elállás típusának felirata, például „Entire order” vagy „Specific items only”. |
| `{woo_order_withdrawal_value:additional_details}` | A megadott további részletek, a sortörések szövegként megmaradnak. Üres mezőnél a „None provided” szöveget írja ki. |

Az értékcímkék a szerkesztőben mintaadatot, a weboldalon a beküldött űrlapértékeket mutatják. Nem kérnek le adatot egy egyező WooCommerce-rendelésből, és nem hoznak létre rendelési környezetet a rendelési címkéknek és ciklusoknak. Az elállási állapot weboldali megjelenítésén kívül nem adnak értéket.

## Rendelési címkék

Pénztár v2 rendelési állapotokban, Fiókoldal v2 rendelési állapotokban vagy rendelésfüggő lekérdezési ciklusokban használhatók.

Általános rendelési címkék:

- `{woo_order_id}`
- `{woo_order_number}`
- `{woo_order_date}`
- `{woo_order_status}`
- `{woo_order_failed_text}`: a sikertelen rendelés üzenete (lásd lent).
- `{woo_order_total}`
- `{woo_order_payment_title}`
- `{woo_order_email}`
- `{woo_order_checkout_payment_url}`
- `{woo_order_again_url}`
- `{woo_order_user_id}`
- `{woo_order_billing_address}`
- `{woo_order_billing_phone}`
- `{woo_order_shipping_address}`
- `{woo_order_shipping_phone}`
- `{woo_order_view_url}`
- `{woo_order_view_aria_label}`
- `{woo_order_item_count}`
- `{woo_order_total_with_item_count}`

A `wooOrderItems` cikluson belül:

- `{woo_order_item_name}`
- `{woo_order_item_title}`: a termék címe változat-metaadat nélkül. A `:plain` leveszi a termékhivatkozást.
- `{woo_order_item_quantity}`
- `{woo_order_item_price}`
- `{woo_order_item_line_subtotal}`
- `{woo_order_item_meta}`

A `{woo_order_item_title}` a **Rendelési tétel adatai** elemmel együtt hasznos, ha a cím és a mentett rendelési metaadat külön stílust kap. Ha az eredeti terméket törölték, a címke a rendeléssel elmentett tételnévre vált vissza.

A **Rendelési tétel adatai** elemet egy Rendelés : Rendelési tételek lekérdezési cikluson belülre tedd. A mentett változat- és egyéb formázott rendelési tétel-metaadatokat jeleníti meg a Pénztár v2 Fizetés, Köszönjük és Rendelés visszaigazolása állapotában, a Fiókoldal v2 Megrendelés megtekintése állapotában és a Fiók : Rendelések cikluson belüli Rendelési tételek cikluson.

A **Kosártétel adatai** és a **Rendelési tétel adatai** elem vezérlői megegyeznek, de más adatforrást használnak. A kosártétel adatai az aktív kosárból jönnek, a rendelési tétel adatai a mentett rendelési tételből, a WooCommerce formázott metaadat-szűrőinek lefuttatásával.

Egyéni CSS-hez az elemek külön osztályelőtagot használnak:

| Kimenet | Kosártétel adatai | Rendelési tétel adatai |
|---|---|---|
| Gyökér | `.brx-cart-item-data` | `.brx-order-item-data` |
| Tétel | `.brx-cart-item-data__item` | `.brx-order-item-data__item` |
| Címke | `.brx-cart-item-data__label` | `.brx-order-item-data__label` |
| Érték | `.brx-cart-item-data__value` | `.brx-order-item-data__value` |
| Elválasztó | `.brx-cart-item-data__separator` | `.brx-order-item-data__separator` |

Minden tétel kap egy metaadat-kulcs módosító osztályt is, például `.brx-cart-item-data__item--color`, és egy ugyanilyen `data-key` attribútumot.

A `wooOrderTotals` cikluson belül:

- `{woo_order_total_label}`
- `{woo_order_total_value}`

A `wooAccountOrderActions` cikluson belül, általában egy `wooAccountOrders` cikluson belül:

- `{woo_order_action_url}`
- `{woo_order_action_name}`
- `{woo_order_action_aria_label}`

A `wooOrderDownloads` vagy `wooAccountDownloads` cikluson belül:

- `{woo_order_download_product}`
- `{woo_order_download_name}`
- `{woo_order_download_url}`
- `{woo_order_downloads_remaining}`
- `{woo_order_download_access_expires}`

A `wooOrderCustomerNotes` cikluson belül:

- `{woo_order_customer_note_date}`
- `{woo_order_customer_note_comment}`

### Sikertelen rendelés üzenete

A `{woo_order_failed_text}` címkével a fizetési hiba üzenetét írhatod ki a Pénztár v2 **Köszönjük** állapotában. A weboldalon csak olyan aktuális rendelésnél ad üzenetet, amelynek az állapota Sikertelen. Más állapotnál, vagy ha nincs elérhető rendelés, nem ad értéket.

Az üzenet a WooCommerce `woocommerce_thankyou_order_failed_text` szűrőjét használja, amely megkapja az üzenetet és az aktuális `WC_Order` objektumot. A Bricks a HTML-t a `wp_kses_post()` függvénnyel tisztítja, és ha a szűrő nem szöveget ad vissza, visszaállítja az alapértelmezett, lefordított üzenetet.

A szerkesztőben a sikertelen előnézeti rendelés a szűrt üzenetet mutatja. Ha nincs sikertelen előnézeti rendelés, a Bricks az alapértelmezett üzenetet mutatja a szűrő meghívása nélkül.

Egy már mentett Pénztár v2 elrendezés frissítését a [Pénztár oldal](https://hub.hellowp.io/hu/plugins/bricks-child/woocommerce-penztar/) fejezet írja le.

## Feltételek

A Bricks pénztár- és rendelésfüggő elrendezésekhez WooCommerce-feltételeket ad:

- Pénztár : Bejelentkezési lépés szükséges
- Pénztár : Szállítás szükséges
- Pénztár : Szállítási cím szükséges
- Pénztár : A rendelés állapota
- Rendelés : Szállítási cím szükséges
- Rendelés : Van letöltése

Segítségükkel a pénztárlépéseken, a Köszönjük és Rendelés visszaigazolása elrendezéseken, a Megrendelés megtekintése képernyőkön és más pénztár- vagy rendelésfüggő részeken jeleníthetsz meg vagy rejthetsz el tartalmat.

- **Pénztár : Bejelentkezési lépés szükséges** csak a kijelentkezett vásárlóknál ad Igen értéket, ha a WooCommerce-ben a **Pénztári belépés bekapcsolása** be van kapcsolva. A generált többlépéses Pénztár v2 ezzel rejti el a Fiók belépés lépést és a hozzá tartozó navigációt, ha a lépés nem elérhető.
- **Pénztár : Szállítás szükséges** a szállítási módokhoz és a teljes Szállítás lépéshez való. Igen értéket ad, ha a nem üres kosárban van szállítást igénylő termék. Többlépéses pénztárnál a Szállítás lépésre és a hozzá tartozó navigációs elemre is alkalmazd.
- **Pénztár : Szállítási cím szükséges** a „Szállítás másik címre” vezérlőhöz és a szállítási címmezőkhöz való. Ha a WooCommerce a szállítást a számlázási címre kényszeríti, ez a feltétel Nem értéket ad, még ha a kosárnak szállítás is kell.

A feltételek beállítását és az összehasonlítás működését az [Elemfeltételek](https://hub.hellowp.io/hu/plugins/bricks-child/funkciok-elemfeltetelek/) fejezet írja le.

A **Rendelés elállásának képernyője** feltétellel (Adataid, Áttekintés vagy Megerősítés érték) a Fiókoldal v2 elállási állapotának megfelelő szakaszát jelenítheted meg. Haladó moduláris elemeket és bekapcsolt WooCommerce Rendelés elállása funkciót igényel. A szerkesztőben mind a három szakasz látható marad.

## Interakciók

A Bricks három WooCommerce-interakcióindítót ad:

- **Bricks cart contents changed**: lefut egy megerősített AJAX-os tételhozzáadás, -eltávolítás vagy mennyiségváltoztatás és a kapcsolódó felületfrissítések után. Nem fut le a kezdeti szinkronizálásnál, változatlan mennyiségnél, sikertelen frissítésnél, kupon-, cím-, szállítás- vagy csak összegújraszámításnál.
- **Bricks dynamic fragments refreshed**: lefut, miután a **Dinamikus töredék** tartalma frissült.
- **Bricks checkout step changed**: lefut, miután a Pénztár v2 lépése megváltozott.

A cart contents changed indító akkor is elérhető, ha a WooCommerce aktív, a Dinamikus töredék nélküli oldalakon is. A másik kettőhöz haladó moduláris elemek kellenek. Egyéni kosár-megerősítő felugróhoz a cart contents changed indítót használd (lásd [Interakciók](https://hub.hellowp.io/hu/plugins/bricks-child/funkciok-interakciok/)): a töredékfrissítés önmagában nem igazolja, hogy a kosártételek változtak.

A **Pénztár lépés** interakciós művelet a többlépéses pénztárat a következő vagy az előző lépésre, egy adott lépésre vagy egy adott pénztármezőre állíthatja. A célul szolgáló lépést vagy mezőt a látótérbe is görgetheti.

A teljes többlépéses menetet a [Többlépéses pénztár](https://hub.hellowp.io/hu/plugins/bricks-child/woocommerce-tobblepcsos-penztar/) fejezet írja le.

## JavaScript-események

Fejlesztők ugyanezekre a weboldali eseményekre figyelhetnek:

```js
document.body.addEventListener("bricks/woocommerce/cart-contents-changed", (event) => {
  console.log(event.detail.requestId, event.detail.sourceEvent);
});

document.body.addEventListener("bricks/woocommerce/fragments/refreshed", (event) => {
  console.log(event.detail.fragments);
});

document.body.addEventListener("bricks/woocommerce/checkout-step-changed", (event) => {
  console.log(event.detail.stepId);
});
```

A `bricks/woocommerce/cart-contents-changed` eseménynél a `requestId` a megerősített kérést azonosítja, a `sourceEvent` az AJAX-végpont nevét tartalmazza (például `bricks_update_cart_item_quantity`), vagy `update_cart` értéket kosároldali kérésnél. Az esemény nem tartalmaz kosártétel-adatot.

### Kuponhiba-események

A Bricks egyéni kuponkezelői ezeket a WooCommerce-eseményeket küldik, ha a válasz hibaértesítést tartalmaz. `jQuery(document.body).on()` hívással figyelheted őket:

| Esemény | Bricks kezelő | További argumentumok |
|---|---|---|
| `errored_coupon` | Kosár kupon, bekapcsolt „Kosár frissítése AJAX-szal” beállítással | Kuponkód, a visszaadott értesítés nyers HTML-je |
| `errored_coupon_in_checkout` | Pénztár kupon | Kuponkód, a visszaadott értesítés nyers HTML-je |

A meglévő `applied_coupon` és `applied_coupon_in_checkout` esemény a hibás válaszoknál is lefut, ezért nem igazolják, hogy a kupont elfogadták.
