Bilder som relaterar till varandra

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

Hej alla frusna glada...
Sitter och funderar på hur man skapar bilder som relaterar till varandra.
dvs jag vill kunna lägga till flera bilder i par per nod. (cck)
låt oss säga att det är en konstartikel-nod och jag skulle vilja kunna lägga upp flera verk kopplat med bild på konstnären.

// Ensamkodaren!

Comments

Jag är inte helt säker på att

fabsor's picture

Jag är inte helt säker på att jag hänger med exakt på vad du vill göra men såhär tolkar jag det:

  • Du har flera konstnärer, Till dessa konstnärer vill du ha en bild kopplad.
  • Konstnärer kan ha flera konstartiklar och kanske även andra typer av noder, kopplade till sig.
  • Konstartiklarna innehåller ibland, eller alltid bilder på konstverk.

Du skulle då kunna skapa en nodtyp för konstnärer, som innehåller en bild på konstnären och hans namn. Du kan förstås lägga på mer information här.

Du skulle sedan kunna ha ett nodreferens-fält i konstartikelnoden, som refererar till en eller flera konstnärsnoder, som ju innehåller bilderna på konstnären. Med hjälp av Views och kanske View Attach hade du sedan kunnat bygga ihop dessa noder på ett snyggt sätt.

Använder du den här varianten behöver du bara ha informationen om konstnären på ett ställe, och man behöver på det viset inte ladda upp en ny bild på konstnären för varje artikel utan bara referera till den redan existerande informationen.

//Fabian Sörqvist

@aJob Kan du förklara mer

dixon_'s picture

@aJob Kan du förklara mer utförligt vad du menar? Det är svårt att ge rätt svar, på fel fråga ;)

Luminering

aJob's picture

Försök till bättre förklaring:
Produkt-nod för En karamell.
En karamell kan finnas i olika färger/mönster.
Vill att användaren ska kunna byta bild på karamellen efter de färger/möster som finns.
För att användaren skall veta vilka färger som finns vill jag ha minibild som en beskrivning på karamellen då de kan vara rutiga eller randiga med.
Underhållaren skall då kunna ladda upp 2 bilder som "ett par". En på karamellen och en färgbild på karamellen osv tills alla färger/mönster är upplagda.
//Alena Krypto

Nod eller nodtyp

Itangalo's picture

Blev inte riktigt klok på förklaringen...
Är karamellen en nod (en viss sida) eller en nodtyp (som man kan skapa sidor utefter)?

Finns färgerna och mönstren bestämda innan, eller är det upp till användaren att hitta på och ladda upp så många han/hon har?

Hm.

Är det så här du menar?

1) Det finns en nodtyp, säg Karamell.
2) Bland de fält som finns att fylla i finns bland annat parvisa bildfält. Man måste alltid ladda upp dessa två och två (ungefär som att man skulle skriva "15" och "kg" för att ange en vikt + enhet).
3) Man ska få ladda upp så många bildpar man vill.

I så fall finns det ännu ingen riktigt bra lösning. Däremot två som är ganska bra.
* CCK version 3, som har fälgrupper av typen "multigroup". De gör precis det du vill, men funkar inte 100 procent.
* Flexifield, som även den gör det du vill. Fungerar helt ok, men är svår att använda i Views på något rimligt sätt.

I beskrivningen för Flexifield nämns också Combofield för Drupal 7, men den har jag inte testat.

Hoppas att jag är på rätt spår, och lycka till!
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Kolla in min senaste guide: Hundra småsteg för att självlära sig Drupal 6
Sugen på en Drupalkurs? Kolla in NodeOnes utbud av Drupalkurser

Två gamla trådar

Itangalo's picture

Jag hittade följande gamla trådar när jag var på väg att lägga in denna diskussion i FAQ:n. Kanske kan de vara till nytta.

Hur kan jag gruppera CCK-fält så att de hänger samman parvis när man utökar antalet fält?
Se även denna fråga om hur man kan dela upp information i en textarea till flera separata fält.

//Johan Falk

Kan jag ha attackerat

aJob's picture

Kan jag ha attackerat problemet fel?
Har en massa info från en nod i en view var av en större bild (med en karamell med en färg).
Bredvid denna vill jag ha små miniatyr exempel (andra bilder, inte thumbs).
Jag vill att man ska kunna klicka på en färg/mönster miniatyr och byta relaterad bild till den man valt.

Kan tänka mig 2 sätt.
1. När man skapar noden så lägger man upp bilderna i par i noden varav frågan så att de har någon typ av relation när jag ska lösa bild bytet.
2. Jag skapar relaterade färg/mönster-noder som jag försöker hämta upp. Har gjort det i dagsläget men vet inte hur jag ändrar då val av relaterad nod som skall visas som stor bild när jag klickar på den mindre.

Idén nu är att jag matar ut

aJob's picture

Idén nu är att jag matar ut alla bilder enligt sätt 2 och får nod id:t i bilderna:

<img class="färg45 storbild" src="någonting" />
<img class="färg38 storbild" src="någonting" />

<img class="färg45 exempelbild" src="någonting" />
<img class="färg38 exempelbild" src="någonting" />

Sen lösa det med javascript display: block/none vid klickningar.

Har inte pulat med javascript så mycket så vet inte exakt hur den koden kommer se ut. någon?
annars lägger jag upp den när jag hittat lösningen

//Ensamkodaren

http://api.jquery.com/hide/ $

solipsist's picture

http://api.jquery.com/hide/

$('img.färg45').bind('click', function() {
  $(this).hide();
});

Tips: Använd inte åäö i klassnamn och ID-attribut.

Tack!! Använder inte åäö i

aJob's picture

Tack!!
Använder inte åäö i någon kod men ibland blir det fel i pedagogiken
Tänkte att det skulle vara tydligare. Men borde veta bättre efter 3 års studier med Multimedia:Pedagogik och teknik...
//Ensamkodaren

Sitter med den fina koden

aJob's picture

Sitter med den fina koden nu...
kan jag göra det med ett wildcard?
ex:

$('img.färg*').bind('click', function() {
  $(this).hide();
});

Nej, inte direkt, jQuerys

solipsist's picture

Nej, inte direkt, jQuerys selectors fungerar precis som CSS. Du kan däremot göra detta:

$('img[class^="färg"]').bind('click', function() {
  $(this).hide();
});

Se: http://api.jquery.com/attribute-starts-with-selector/

Om din img har flera klasser och den första klassen inte alltid är färg kan du göra så här:

$('img[class~="färg"]').bind('click', function() {
  $(this).hide();
});

Se: http://api.jquery.com/attribute-contains-word-selector/

Wow lär mig massor om

aJob's picture

Wow lär mig massor om api.jquery.com. Visste att det var bra men inte så bra.
Jag ser nu vad exemplet gör, men det jag vill göra är detta:
kod:

<img id="storbild45" class="color45" src="någonting" />
<img id="storbild38" class="color38" src="någonting" />

<img id="minibild45" class="color45" src="någonting" />
<img id="minibild38" class="color38" src="någonting" />

Jag vill när man klickar på minibild38 så tänds storbild38 och de andra storblid* släcks.
Tror mig på .toggle()...
är jag på rätt väg?

$('img[id^="minibild"]').bind

solipsist's picture
$('img[id^="minibild"]').bind('click', function() {
  $('img[id^="storbild"]').hide().filter('img#storbild' + this.id.match(/[0-9]+/)).show();
});

"Magin" är i regexen som plockar fram numret för aktuell bild: this.id.match(/[0-9]+/);

Du vill inte använda toggle(), du får märkliga effekter när bilderna växlar tillstånd. Bättre använda hide()/show().

Obs! Har inte testat koden ovan.