Egy drupal commerce (dc) alapú webshop készülése közben derült ki egy kardinális probléma, ami a dc működési logikájából fakad: a product és a product display kezelése nem felel meg a cég egyedi termékeinek, de ez reményeink szerint a dc egyedivé tételével megoldható lehet. A drupal és a dc által nyújtott szolgáltatásokról nem szeretnének lemondani, ezért - ha lehetséges - a drupal commerce átalakításával kéne megoldani, de mindenképp a drupalon belül. A leírásban a dc-re alapozva írom
A módosítás oka
A webshopban lévő termékek reklámeszközök, amelyek kezelése eltér a hagyományos termékekétől.
Itt alapszerkezetek és nyomdai termékek vannak, kiegészítve variációs és méret tulajdonságokkal.
Ezek kombinációiból áll össze egy-egy termék. Tehát egy termék így néz ki:
http://dev.maxa.hu/product/roll-standard
Magyarázat:
- Termék neve: Roll-up Standard
- Variáció: Exluzív (A variációból és a méretből állnak össze fősorok)
- Méret: 50x150, 85x200, 100x200, 120x200, 150x200, 200x200
- Állvány nyomtatás nélkül: ez maga egy konkrét termék:
az alapszerkezet (1. termékfajta - lásd lentebb).
Ára a terméknél beállított ár. - Laminált roll-up film nyomattal (és a többi): ez egy termékmix, ami tartalmazza a nyomdai terméket ( 2. termékfajtát - lásd lentebb) és az alapszerkezetet.
- Ára az alapszerkezet ára + (a nyomdai terméknél beállított négyzetméter ár * a méretnél megadott értékkel) (a nyomdai terméket úgy adjuk itt hozzá, hogy a m2 árat és a mennyiséget is itt adjuk meg(m2))
Kosárba téve:
- Ha az alapszerkezetet teszi kosárba akkor egyszerű a helyzet, úgy működik, mint a dc-ben.
- Ha egy termékmixet tesz a kosárba, akkor a termékmixben lévő termékeket kell a kosárba tennie: az alapszerkezetet és a nyomdai terméket.
Amiben eltér a drupal commerce funkcionalitásától:
- A dc-ben az egyes product displayekbe csak termékeket tudunk tenni. Itt a product displayben a termék felvétel funkciója mellett szükség van a termékekből összeállított termékmixek, termékcsomagok felvételére is.
- A dc-ben minden egyes variációra létre kellett hozni külön terméket (pl: méret szerint). Itt a termékmix befoglalójában (legjobb szó erre: product display a product displayben) jelöljük az egyes variációkat (pl a méretet), így a termékek száma jóval kevesebb és átlátható lesz. Csak az alapszerkezetek és a nyomdai termékeket kell felvenni.
Példa: Ha 8 alapszerkezetet és 5 nyomdai terméket viszünk föl, akkor ebből létre lehessen hozni méretek és variációk szerint akárhány terméket (termékmixekben) anélkül, hogy 13 db terméknél több lenne a rendszerben. Tehát a termékmixek csak virtuálisan, logikailag fogjanak csokorba termékeket(,ahogy a product display is). - Épp ezért a dc-ben, mivel az egyes méret szerinti termékek külön cikkszámon futottak, ezért kosárba tételnél külön tételként is szerepeltek. Itt most az a lényeg, hogy ha pl 3 féle méretű nyomdai terméket (pl: laminált rollup film nyomattal 85*200, laminált rollup film nyomattal 100*200, laminált rollup film nyomattal 120*200 ) teszünk a kosárba akkor (ahogy normál esetben is) a kosárba jelenjen meg minden “tétel” soronként vagyis
Roll up Standard 85x200, Laminált roll-up filmmel - 1db
Roll up Standard 100x200, Laminált roll-up filmmel - 1db
Roll up Standard 120x200, Laminált roll-up filmmel - 1db
DE: de az admin résznél az eladásoknál fontos, hogy a “Laminált rol-up film” nyomdai termék legyen felszámolva (a kimutatásban, jelentésben)
Vagyis a fenti 3 termékvariáció megrendelésekor ezek fogynak a nyilvántartásból:
Roll up Standard 85x200 szerkezet - 1db
Roll up Standard 100x200 szerkezet - 1db
Roll up Standard 120x200 szerkezet - 1db
Laminált roll-up film - 6,1 m2
Lehetséges működés
1. Termék (product) létrehozása (külön-külön a háttérben)
/admin/commerce/products/add/product
1.termékfajta: Alapszerkezet - mezői
- Cikkszám
- Beker ár (db)
- Ár
- Beszállító
- Készlet
- Kategória (lenyíló lista)
2.termékfajta: Nyomdai termék - mezői
- Cikkszám
- Beker ár / m2
- Ár / m2
- Beszállító
- Készlet (ne legyen kötelező kitölteni, mert nem fogjuk vezetni a raktáron lévő anyagokat)
- Kategória (lenyíló lista. Ugyanaz a lista, mint az alapszerkezetnél)
2. Termék felvitele a webshopba (Product display)
- Tulajdonságok hozzáadása: Méret, variáció legördülőkben (ezzel alakul ki a lista és ártáblázat szerkezete) - lásd lenti ábra
- Gyártási idő (szövegmező): x munkanap, raktáron
- Termékfajták variációinak összeállítása
- Alapszerkezet hozzáadása, darabszám megadásával
- Alapszerkezet hozzáadása, darabszám megadásával + Nyomdai termék hozzáadása, m2 és m2 ár megadásával (a m2 árat és a mennyiséget is itt adjuk meg(m2))
Mentéskor automatikusan hozza létre az ártáblázatot a kosárba tesz gombokkal.
A kosárba tesz gombok létrehozását a Commerce Add to Cart Filter modul által biztosított shortcode segítségével lehet most megoldani:
[ product-button:PRODUCTID title=BUTTONTEXT ]
3. Kalkulátor felvitele a webshopba (Product display)
Kalkulátor
Ez egy másik product display, ahol hivatkozunk egy nyomdai termékre (2. termékfajta), megadunk pár adatot* (lásd lejjebb), majd a méreteket és a mennyiséget a felhasználó viszi be.
A kosárba a hivatkozott nyomdai termék kerül be a felhasználó által megadott méretekből kiszámolt mennyiséggel (m2) és a mennyiségből kiszámolt árral.
A felhasználók a termékoldalon egyedileg tudják megadni a szélesség/magasság/mennyiség értékeket, akár többet is. A rendszer a megadott adatok alapján kiszámolja az adott négyzetmétert.
A termékenként megadott sávos árak alapján kiszámítja az árat (sávos ár*négyzetméter) és ezzel az árral teszi bele a terméket a kosárba. Vagyis a termék ára a bevitt értékektől és a termék adatlapján megadott sávos áraktól függ.
A felhasználó által bevitt értékek mezői:
- Szélesség (decimális, cm): a felületen megadandó szélesség mező
- Magasság (decimális, cm): a felületen megadandó magasság mező
- (Tétel)Mennyiség (egész, db): a felületen megadandó mennyiség mező
*A megadott pár adat a felvitelkor:
- Maximális tekercs szélesség: cm
- Maximális tekercs magassága: cm
- Minimális rendelhető mennyiség: m2
- Sávos ár mezőcsoport (minden terméknél egyedi értékek lesznek, ezért kell ezt a termékhez rendelni)
0 – 0,99* m2 (ár, Ft)
1 – 2,99* m2 (ár, Ft)
3 – 4,99* m2 (ár, Ft)
5 – 9,99* v (ár, Ft)
10 – 19,99* m2 (ár, Ft)
20 – 29,99* m2 (ár, Ft)
30 – 39,99* m2 (ár, Ft)
40 – 49,99* m2 (ár, Ft)
50m2 felett (ár, Ft)
Admin rendelés
/admin/commerce/orders/add
A drupal commerce által adott lehetőség (meglévő ügyfél kiválasztása, vagy új létrehozása) után az alábbi lehetőségek közül lehessen választani.
Termék felvitele: a 2-es pont szerint
Kalkulátor felvitele: a 3-as pont szerint
---------------
Kérdés esetén állok rendelkezésre (privát üzenetben).
Köszönöm, hogy elolvastad.
-----------------------
Olyan embert, céget keresek, akik azt csinálják, amit mondanak és ígérnek.