# Opciók feltöltése CSV-fájlból

> Választómező opciói és függő listák CSV-táblázatból az Advanced Calculations kiegészítővel és egy kis JavaScripttel.

Hosszú opciólistát nem kell kézzel begépelned: a **Választómező** opciói CSV-fájlból is jöhetnek, és a fájl újratöltésével frissíthetők. Ugyanígy megoldható az is, hogy az első lista választása szerint változzon a második lista tartalma (például gyártó és modell).

## Követelmények

- A Pro változat és az **Advanced Calculations for Add-Ons Ultimate** kiegészítő, telepítve és aktiválva.
- A CSV-fájlok feltöltése a kiegészítő **Lookup Tables** oldalán történik a **Termékkiegészítők** menüben. A táblázat készítését lásd a [keresési táblázatos mennyiségi árazásnál](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/szamitasok-feltetelek-mennyisegi-arak/).
- Egy kódrészlet (snippet) a webhelyen, amely a termékoldalon a táblázat sorait opcióvá alakítja. A kódot a szokásos módon add hozzá (kódrészlet-bővítménnyel vagy a gyermektéma `functions.php` fájljában).

## A: opciók egy mezőhöz, ár is megadható

1. Hozz létre **Választómező** típusú mezőket opciók nélkül, és jegyezd fel az azonosítójukat. Lehet termékszintű vagy globális mező.
2. Mezőnként készíts külön táblázatot. A bal felső cella tartalma `field_` és a mező azonosítója legyen (például `field_1234`).
3. A táblázatnak két oszlopa legyen: **Label** és **Price**. A **Label** alá kerül az opció szövege, a **Price** alá az ára, ha van.
4. Exportáld CSV-be, és töltsd fel a **Lookup Tables** oldalon.
5. Add hozzá a kódrészletet. A függvény a lábléc kimenetébe (`wp_footer`, 9999-es prioritás) illeszt egy jQuery-szkriptet, amely a `pewc_look_up_tables` változóból olvassa a táblázatokat, és minden `field_` nevű táblázatnál feltölti a megfelelő azonosítójú választómezőt. Az üres címkéket kihagyja. Ha van ár, az a megjelenített szöveg mögé kerül, és az opció `data-option-cost` attribútumába is bekerül. A kódot nem kell szerkesztened.

Az opciók későbbi módosításához elég a CSV-t átírni és újra feltölteni.

## B: függő lista (például gyártó és modell)

Itt két választómező van: az első kézzel felvett opciókkal, a második üresen, mert az opciói a CSV-ből jönnek az első választása szerint. Így nem kell gyártónként külön modellmező.

1. Hozd létre a két **Választómezőt**. Az elsőbe vedd fel az opciókat (például gyártók), a másodikat hagyd üresen. Jegyezd fel mindkét azonosítót.
2. Készíts táblázatot: a bal felső cellába a táblázat neve kerül (például `models`). A felső sorban az első mező opciói állnak, pontosan úgy, ahogy a mezőben szerepelnek (kis- és nagybetűre és helyesírásra is egyezzenek). Az egyes oszlopokban a hozzá tartozó második listás opciók következnek.
3. Töltsd fel a **Lookup Tables** oldalon.
4. A kódrészlet tetején három függvény adja vissza az átírandó értékeket: az első mező azonosítóját, a második mező azonosítóját és a táblázat nevét.
5. A kód a lábléc kimenetében egy jQuery-szkriptet ad ki. Az első mező megváltozásakor (és az oldal betöltésekor is) kiolvassa a kiválasztott opcióhoz tartozó oszlopot, törli a második mező régi opcióit, és az új értékeket adja hozzá, nulla költséggel. Az üres cellákat kihagyja.

A termékoldalon az első lista váltásakor a második lista azonnal frissül.
