Field API és dependens form

veezee képe

Lehetséges-e olyan field API-n alapuló modul írása, amiben 4 dependens multiple select-et tartalmazó form van?

Form alterrel megcsináltam, azonban jó lenne (talán egyszerűbb is az életem), ha mindezt Field API-val is meg lehetne valósítani.

Előre is köszönöm.

Drupal verzió: 
pp képe

igen.

2
-3
veezee képe

Tanulságos válasz volt.

1
-2
vajdasági képe

Pedig pont a kerdesedre valaszolt. :) A kerdes az volt hogy lehetseges-e, a valasz pedig hogy igen lehetseges.

2
-3
veezee képe

Persze lehet itt nagyképüsködni, mondatértelmezési vitákat nyitni, meg kioktatólag szivatni a kérdezőt arról, hogy kell kérdést feltenni, holott mindnyájan tudjuk, hogy aki itt kérdez, az azért teszi hogy tanuljon a nála képzettebbek jóindulatú(!), és nem utolsó sorban segítőkész(!) válaszából.

Úgy vélem joggal gondolom, hogy senki nem megvilágosodás útján szerezte a Drupal-tudását, hanem tanulta valakitől.(Ha mégis van itt messiás, az most jelezheti, éppen időszerű is.)
Vélhetően a fórumozó drupal-guruk sem lennének azok, ha hasonló hozzáállású tanároktól kellett volna tanulniuk, mint ahogy itt tapasztalhatom.(tisztelet a kivételnek!)

Ez már nem az első eset ezen a fórumon, hogy segítség helyett megpróbál megalázni a válaszoló.

Tudod mit?

Ha ez jól esik pp-nek, vagy bárki más is ettől elégül ki, ám tegye, lelke rajta!
Lehet hogy szakmailag nagyon ott vannak ezek a 'kollegák', de mint ember, bizony nagyon szánalmas az amit produkálnak.

2
-2
szantog képe

Amilyen a kérdés, olyan a válasz. Pl hasonlítsd össze a tiédet ezzel: http://drupal.hu/forum/rss-k%C3%A9p/15764
Én speciel a kérdést sem értem, de ez legyen az én hibám.

Ha konkrétan leírnád, hogy mit akarsz, akkor konkrét választ kapnál. Így a legnagyobb jóindulattal is csak ennyire fussa: https://www.google.hu/search?sourceid=chrome&client=ubuntu&channel=cs&ie...

Szóval ha legalább annyi energiát fordítottál volna a kérdés megfogalmazására, mint az előző fröcskölődésre, akkor már beljebb lennél. Ha meg nem ez az első eset, akkor érdemes lenne elgondolkodni, hogy te mindent jól csináltál-e?

Amúgy seráfütty, volt már itt pár olyan ember, aki bevágta a durcit, csak mert rápirítottak cseppet. A legtöbbjét azóta sem láttuk, és egyiküket sem azért, mert az aquiához mentek vezető drupal fejlesztőnek..

Edit: Hopp, most láttam csak a korábbi témát. Én kérek elnézést, de már ki nem törlöm..

2
-3

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

pp képe

http://api.drupal.org/api/drupal/modules!field!field.module/group/field/7

A kérdésedre specifikusabban:

http://api.drupal.org/api/drupal/modules!field!field.api.php/group/field...

Kérdés, hogy mit próbáltál, hol akadtál el? (persze azt is jó lenne tudni, hogy pontosabban mit akarsz, mert lehet rossz felé indultál el.)

pp

4
0
veezee képe

bajom (ami nyilván alapeset, és elnézést az esetleges pontatlan megfogalmazásért,) hogy a legegyszerűbb példánál maradjak: A hook_field_widget_form-ba dropdown selectet beillesztve, és selectenként egy értéket kijelölve a hook_installban megadott táblában rendben insertalódnak az adatok.
Azonban ha a selectben a többszörös('#multiple' => TRUE,) kijelölés van beállítva, (és meg is történik a többszörös kijelölés) azt már váratlan hibával honorálja a drupal.

Leginkább a fent vázolt problémára szeretnék tanácsot kérni.Hogy kell megvalósítani a többszörös érték insertjét fieldben select list-nél, illetve egyáltalán mi az elve a custom field adatbázis kezelésének.
(Be kell ismerjem, már azt sem értem, hogy Field Api-val hogy lehet letárolni egy multiple select értékeit.)

Próbáltam a D7 option modulját értelmezni-sikertelenül.
Mi tagadás több napi gugli, Field Api bámulás-értelmezés(értetlenkedés) után sem értem az elvet. Nyilván az összes többi nyűgöm ennek a következménye.

Előre is köszönöm.

1
0
pp képe

A kérdésed még mindig messze van a konkréttól. :)

Ha egy fieldről beszélünk három dologról beszélünk:

1. Adatbázis reprezentáció

Ez egy vagy több mező a field adatait tároló táblában. Ebben a táblában ezek mellett a filedek mellett még számos információ tárolódik, amivel nem kell foglalkoznod, lévén a FieldAPI-t használod.

2. Beviteli elem (Widget)

Ez a beviteli űrlapon megjelenő formelem(jelen esetben egy olyan select ami multiple). Ezt egy jóízű form alterrel tolja bele a FieldAPI.

3. Megjelenítés (Formatter)

Hogyan jelenjen meg amikor a felhasználó nézi az adott elemet.

Miért nehéz a kérdésed?

Alapesetben, azt az esetet, amikor az elemből több van a Field API úgy kezeli, hogy egy táblázatba beletossz annyi, widgettet, amennyi szükséges. (ha végtelen, akkor ajaxxal bővíthető vezérlőt rak oda).

Természetesen ez felülírható. Pl. ha 1 elem van akkor egy sima select, ha több akkor egy multiple select form elem kerül bele az űrlapba. Lásd a core options widgetet.

Nem tudom, hogy Te mit szeretnél, mert ugye azt is akarhatod, hogy mindig multiple select legyen, és ha a field multiple, akkor a FieldAPI jelenítsen meg neked több multiple select form elemet. Ekkor nem kell csinálnod semmit se.

Ekkor még csak arról beszéltünk, hogy a field multiple. Ha a widget multiple akkor meg kell oldanod azt, hogy hogyan tárolja azt az adatbázisban, tehát egy widget -> db field átalakítást kell végezened a megfelelő hook segítségével.

Érdemes megnézned a examples modul, field_example modulját, ami egy több részből álló widget értékét tolja bele egy adatbázis mezőbe.

pp

0
0
veezee képe

Én is az field_example modulját értelmez(ge)tem.

Az én gondom valójában az általad írt utolsó bekezdés:

"Ekkor még csak arról beszéltünk, hogy a field multiple. Ha a widget multiple akkor meg kell oldanod azt, hogy hogyan tárolja azt az adatbázisban, tehát egy widget -> db field átalakítást kell végezened a megfelelő hook segítségével."

Végül is (mivel a fejemben a field multiple, és a select multiple sokáig kavargott valami homályos ködbe) ezzel szenvedek,azaz, hogy tudom letárolni az adatbázis megfelelő tábláiba a selectek többszörös értékeit.

Mondjuk az is kérdéses, ha a widgeten belül több multiple select is van, akkor ezt inkább érdemes lenne külön-külön táblákba tárolni.

Itt pedig elérkeztem a kezdeti tervemhez, miszerint egy adott tartalomtipus mezői függő-dependens kapcsolatban állnak egymással. (Hasonlót csinál a Conditional fields modul is, azonban az azért nem jó mégsem, mivel már létező táblákat használ, nekem meg ajaxos callback kellene.)Nos a dependens mező-mező kapcsolathoz aztán lövésem sem volt, hogy kezdjek hozzá.Ekkor csináltam meg egy modulba mindezt a hook_alter_form használatával, ami jól működik, de a views nem látja. Ezért szeretném a hook_field-et, hogy a továbbiakban a kimenet kompatibilis legyen a views-el.

Mindezeken túl már az is fellélegzés, hogy számomra is érthetően megfoglmaztad azt, amit én bizony nem tudtam. Ha nem terhes, légyszives a db field átalakítás értelmezésében segíts nekem.

Amúgy nagyon köszönöm a segítséget.

PS.: Bevallom, nekem nagyon nehéz átállni a drupalra.Valóban olyan mint a legó - ha jól emlékszem a Te egyik előadásodon hallottam - , és néha teljesen kiborít a "rücskös teteje".
A Drupal teljesen más gondolkodást igényel mint egy programnyelv. Ráadásul a szakirodalomban rengeteg dolog benne sincs, vagy legalábbis én nem találom.

Köszönöm mégegyszer.

0
0