Multipla kryssrutor i samma fält

Events happening in the community are now at Drupal community events on www.drupal.org.
rablador's picture

Hej!

Jag skulle vilja göra det möjligt att använda multipla kryssrutor (dvs multipla värden) för ett och samma fält. Som det ser ut nu har jag skapat ett fält med en kryssruta som jag sedan har lagt till i en enkel widget.

Ponera att man har två länder, båda representerade av var sin kryssruta. Till varje land har man sedan ett fält för inmatning av pris. Ungefär såhär:

SWE[x] 100
NOR[x] 80

I databasen ska det då sparas såhär:

id --- land --- pris
1  --- SWE  --- 100
2  --- NOR  --- 80

Dvs, alla värden som matas in sparas som par av land och pris på var sin rad i samma submit. Detta fungerar bra när man bara har ett land, men att visa och skicka multipla värden på det här sättet verkar desto lurigare.

I hooken för widgeten renderar det här två uppsättningar av land och pris enligt ovan, men då sparas tyvärr inget i databasen:

$items[]['price'] = array( ...
$items[]['region'] = array( ...

Version: Drupal 7.x

Comments

Feild collections

frippuz's picture

Såvida du inte har krav från något externt system hur du får spara saker i Drupal tycker jag du ska ta en titt på field_collections. Den modulen ger dig möjlighet att skapa ett fält som i sin tur innehåller fler andra fält.

Som exempel kan du lägga till en fc till en nodtyp. I din fc lägger du till ett booleanfält(checkbox) samt ett textfält.

Redigerad: massa felstavningar

Hur har du byggt fältet?

pontus_nilsson's picture

Hur har du byggt fältet? Ligger det i en innehållstyp?
Ifall inte, hur ser din kod ut som skapar formuläret?

Se checkboxes i Form API för mer information hur du bygger upp widgeten.

Ifall du skapat formuläret med egen kod så måste du också ta hand om nersparningen. Hur ser din kod ut där?

Ifall det inte är något special, special som ska göras så borde en innehållstyp med ett fält av typen List(text) fungera bra. Använd priset som key när du skapar de värden man kan använda. Välj checkboxes som widget och multiple values.

//Pontus Nilsson, Digitalist

Hej! Tack båda för svar! Jag

rablador's picture

Hej!

Tack båda för svar! Jag fick ordning på alltsammans till slut och gjorde helt enkelt så att jag skapade upp ett fält med de element jag ville ha och satte sedan multipla värden (som Pontus skriver). Det var inte mycket konstigare än så. Eftersom jag inte har skapat fält själv innan var jag lite vilsen till en början, men det löste sig :).

Frippuz:

Har kikat lite på Field Collections (verkar fiffigt), men av någon anledning ville datan inte sparas i databasen, så jag lade det åt sidan.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: