A drupal8-as modulok készítésébe, már kezdek belejönni, de sajnos a mezők használata, még nem egészen tiszta.
Egy olyan mezőt kellene létrehoznom, amely egy verziósorrendet tartalmazna, de a következő módon:
- Tehát a mező felkonfigurálásakor meg kellene adnom egy listát, amely a lehetséges verziókat sorolja fel. Viszont a lista később bővíthető kell, hogy legyen, hisz jöhetnek ki új verziók.
- A beviteli mezőben két érték lenne megadható. Az egyik az adott funkció bevezetésének a programba való bekerülésének verziója. A másik a funkció kikerülésének megelőző verziója. Ha csak egy érték van megadva az a bevezetés verzióját adja meg.
- A megjelenésnél ha a bevezetés és a kivezetés főverziója eltér, akkor a bekerülés és a kikerülés közti verziószámok csak főverziók legyenek.
Vagyis nézzünk pár példát:
A verziók listája:
(A lista a későbbiekben bővíthető kell, hogy legyen)
1.2, 2, 3.1, 4, 4.2, 4.5, 5, 6, 6.1, 6.2, 6.3, 6.5
A; funkció
bevezetés: 2
kivezetés : -
Megjelenítés: 2, 3.1, 4, 5, 6.5
B; funkció
bevezetés: 4.2
kivezetés : 6.1
Megjelenítés: 4.2, 5, 6.1
C; funkció
bevezetés: 6.1
kivezetés : 6.3
Megjelenítés: 6.1, 6.3
Remélem a példákból egyértelmű a logika. Drupal8-ban miként tudnék egy ilyen beviteli mezőt létrehozni?
Magánál a funkció tartalom szerkesztési lapjánál a lista jelenne meg, amelyből két érték választható (pl jelölőnégyzetek). Egy érték választásakor a megjelenésnél mindig a lista utolsó eleme jelenne meg a felsorolás végén a fenti szabályok szerint. A verzió listát a tartalomtípusnál a mező létrehozásánál lehetne megadni, amely utólag viszont bővíthető kell, hogy legyen az újabb programverziók kijövetele miatt!
Kis segítséget kérnék a drupal8 egyedi mezők készítésében nálamnál nagyobb tapasztalattal rendelkezőktől.
Előre is köszönöm!
Egy (verzió) tartalomtípus
Egy (verzió) tartalomtípus többszörös mezőjében tárolnám a verziókat, és írnék egy widgetet a funkció tartalomtípus többszörös (2 elemű) mezőjére, ami ebből a tartalomtípusból olvasná be a kiválasztható értékeket, illetve írnék egy field formattert, ami szintén a verzió tartalomtípusból olvasná ki a két határérték közötti létező verziókat és a kívánt módon jelenítené meg az értékeket.