Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

SQL / PHP - Productattributen met meerdere talen

Pagina: 1
Acties:

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 21-04 15:02
Hey luitjes,
Ben bezig m'n CMS uit te bereiden met een meertalige productmodule waarbij producten ingedeeld kunnen worden in product categorieen. Deze kunnen bepaalde specificaties hebben afhankelijk van het product soort (bv grafische kaarten -> hoeveelheid geheugen, aansluitingen, GPU speed etc).

Op dit moment heb ik een attribuut tabel met een koppeling aan een productcategorie.
Ik save middels een array de attributen (gewicht, kleur ect). De attribuut waarde staat in een veld in producten-tabel.

Helaas heb ik hierbij dus maar 1 taalmogelijkheid. Maar waar zou ik de vertalingen van de attributen en waarden moeten opslaan? Het belangrijkste voor mij is dat het onderhoud gemakkelijk blijft en dat ik de waarden van de attributen niet dubbel hoef in te voeren...

  • Noork
  • Registratie: Juni 2001
  • Niet online
In een tabel of een tekstbestand met daarin b.v. een array van je attributen. Wat is nu je echte probleem?

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 21-04 15:02
Nou mijn 'probleem' is dat ik op dit moment niet zie hoe ik de attribuutnamen en waarden kan opslaan zodat het 1 geheel blijft...
Moet ik bv een aparte tabel toevoegen met:
[taal][product-id][attribuutwaarde]
[taal][product-id][attributen]

en hierbij nog een extra tabel toevoegen met attribuutsets, welke ik weer kan koppelen met een categorie?

Omdat ik in het verleden maar 1 taal nodig had, heb ik de attribuutwaarden gewoon in de product tabel via een array gezet. Omdat er nu meerdere talen bijkomen werkt dat niet echt meer.

...

zie hieronder een klein voorbeeldje
Attributen nederlands
- lengte
- breedte
- hoogte

Attributen Engels
- length
- width
- height

Waarden nederlands
- 10cm
- 20cm
- 30cm

Waarden Engels
- 4"
- 8"
- 12"

[ Voor 23% gewijzigd door kalechinees op 06-08-2008 11:21 ]


  • posttoast
  • Registratie: April 2000
  • Laatst online: 13:20
Wil je dat wel "dubbel" in je database opslaan? Kun je niet beter op een ander niveau bijvoorbeeld centimeters omzetten naar inches?

omniscale.nl


  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 21-04 15:02
posttoast schreef op woensdag 06 augustus 2008 @ 11:22:
Wil je dat wel "dubbel" in je database opslaan? Kun je niet beter op een ander niveau bijvoorbeeld centimeters omzetten naar inches?
hierbij toevallig wel :) maar je hebt ook tekstuele attributen welke niet omgerekend kunnen worden :p

  • Crazybyte
  • Registratie: Juli 2002
  • Laatst online: 10:32
Gaat het om unieke attributen die jij vooraf gedefinieerd hebt of gaat het om attributen die je telkens opnieuw kunnen aanmaken? Heb je dus bijvoorbeeld door je hele CMS zaken als lengte, breedte, hoogte, kleur, gewicht en kun je die voor elk product invoeren (ook al is een van de zaken niet van toepassing op je product) of verschillen die nog per product?

Zou je ook eens een opzetje kunnen laten zien hoe je database er nu uitziet?

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 21-04 15:02
Crazybyte schreef op vrijdag 15 augustus 2008 @ 14:53:
Gaat het om unieke attributen die jij vooraf gedefinieerd hebt of gaat het om attributen die je telkens opnieuw kunnen aanmaken? Heb je dus bijvoorbeeld door je hele CMS zaken als lengte, breedte, hoogte, kleur, gewicht en kun je die voor elk product invoeren (ook al is een van de zaken niet van toepassing op je product) of verschillen die nog per product?

Zou je ook eens een opzetje kunnen laten zien hoe je database er nu uitziet?
De attributen moeten inderdaad per productgroep aangemaakt kunnen worden (en gewijzigd)

Product tabel -> attribute_group_id, att_values (array)
attribute group tabel -> attribute_group_id, atttribute_id, order
attribute tabel -> att_name, att_values, att_type

beschrijving
1) product staat in een attribuut groep
2) in attribuut groepen tabel staat welke attributen er in die groep horen
3) in de attributen tabel staan de individuele attributen (kleur) en de diverse mogelijkheden (groen, geel -> array)
4) in de product tabel wordt middels een array opgeslagen welke waarde de diverse attributen hebben voor de bijbehorende groep.

Ik hoop dat het een beetje duidelijk is. Vanwege drukte heb ik er nog niet heel veel tijd aan kunnen besteden maar ik hoop het snel weer op te pakken...
Maargoed, waar zou ik de vertaling van de attributen kunnen plaatsen zonder steeds de waarden enzo steeds opnieuw in te vullen... 8)7
Pagina: 1