PDA

Shop Support News Archive - Shopbetreiber News -> Forum : Attribute Einteilen (übersichtlicher Machen)


scripper
29.06.2008, 11:57
Hallo zusammen,

in dem Shop an dem ich gerade arbeite gibt es artikel mit ziemlich vielen Farben.
Ich hab das so gelöst dass jede Farbe ein kleine Bildchen hat und mit einem Radio Button
ausgewählt werden kann. Jetzt ist das natürlich bei sovielen Farben ziemlich un übersnichtlich
und ich würde Sie gerne in Gruppen einteilen.
Beispiel: Crush Farben, Muster etc ....
Nun soll das aber ja alles unter einem Attribut laufen also nicht dass der nutzer später mehrere Farben auswählen kann. Jemand eine Idee wie man das realisieren könnte??

pufaxx
29.06.2008, 15:59
Man kann normalerweise keine "mehreren Farben" etc. gleichzeitig auswählen, eine "Attribut-Matrix" ist ohne Zusatzmodul nicht möglich.

Es ist also kein Problem, wenn Du mehrere Farbgruppen auf unterschiedlich benannte Attribute verteilst.

scripper
30.06.2008, 16:53
''>ZITAT(pufaxx @ Jun 29 2008, 15:59) 53678
Man kann normalerweise keine "mehreren Farben" etc. gleichzeitig auswählen, eine "Attribut-Matrix" ist ohne Zusatzmodul nicht möglich.

Es ist also kein Problem, wenn Du mehrere Farbgruppen auf unterschiedlich benannte Attribute verteilst.
[/b]

mmh ich versteh nicht genau wie das meinst ... also in Rnichtung attribut Matrix muss das was ich vorhabe nicht gehen ....
Es sollte nur die unübersnichtlichen vielen Farben in gruppen einteilen und diese durch einfache Absätze oder neue überschriften trennen ...
Bis jetzt sieht das so aus (http://anonym.to/?http://shop.plisseeonline.de/product_info.php?info=p7_Plissee---Senkrecht-Drehkippfenster.html)...

pufaxx
30.06.2008, 17:18
Wenn Du ein Produkt hast ...

sagen wir mal mit Größe S / M / L / XL
und mit den Farben Rot / Grün / Blau

... dann kannst Du (jedenfalls mit xt:C-Standard) kein "Rot in Größe S" in den Warenkorb legen, sondern nur "Größe S" oder "Farbe Rot".

Was ich bei Dir sehe, scheint mir sogar sowas wie eine "Mehrdimensionale Attribut-Matrix" zu sein, wenn man sich Schienenmaterial, Bla-Farbe, Blub-Dekor etc. aussuchen können soll. Ich glaub, das ist eher ein Fall für Module à la "PC-Konfigurator" - und die einzelnen Eigenschaften müssten dann echte Produkte sein, so dass man sich daraus eine Art Set zusammenstellen kann.

Scheint mir jedenfalls eine ziemlich komplizierte Aufgabe zu sein.

Logo
30.06.2008, 18:09
Hallo,
verstehe ich nicht.
Wenn die Option Größe mit den Attributen S/M/L/Xl anlegt und die Option Farbe Rot/ Grün und Blau kann er mit xt Standard die Option Rot mit der Kombination Größe S in den Warenkorb legen.
Grüße
Logo

''>ZITAT(scripper @ Jun 30 2008, 16:53) 53890
mmh ich versteh nicht genau wie das meinst ... also in Rnichtung attribut Matrix muss das was ich vorhabe nicht gehen ....
Es sollte nur die unübersnichtlichen vielen Farben in gruppen einteilen und diese durch einfache Absätze oder neue überschriften trennen ...
Bis jetzt sieht das so aus (http://anonym.to/?http://shop.plisseeonline.de/product_info.php?info=p7_Plissee---Senkrecht-Drehkippfenster.html)...
[/b]

@scripper Hast Du mal versucht, den verschiedenen Farbgruppen eine eigene Option, und die einzelnen Farben als Attribut anzulegen. Für die Option könntest Du einen eindeutige Überschrift wählen (zB.Crushfarben).
Viellenicht kannst Du das mit table_listing auch besser hinbekommen.
Grüße
Logo

pufaxx
30.06.2008, 18:38
Hoppla - Hatte wohl ein fehlerhaftes Options-Template [CSS Shop Templates oder Tabellen Shop Templates ] ...

Okay, klappt also doch, das ist ja beruhigend. Wäre noch interessant zu wissen, von welchem Warenbestand die Kombinationen dann abgezogen werden - Für sowas braucht man dann wohl doch eine Matrix?

scripper
30.06.2008, 20:54
hey ...

@pufaxx du hast das ganze ein bisschen kompliziert verstanden ... die ganzen Auswahlen sind so in orndung und die farben sollen auch nicht von irgendetwas abhänig sein.
Das einzige was mich gerade stört ist dass die Farben alle nacheinander stehen ohne eine ordnung zuhaben. Viellenicht liegt die Lösung auch einfach im template per tabelle .. doch ich wüsste gerade nicht wie

@logo daran hab ich natürlich auch schon gedacht doch das problem dabei ist einfach dass wenn ich z.b Crush Farben und Metallfarben oder so anbieten möchte der Kunde beides Wählen könnte und ich somit nicht wüsste was er denn nun möchte :huh: da liegt gerade mein Problem ...

Logo
01.07.2008, 09:26
Hallo,
da ich programmiertechnisch nicht besonders versiert bin, kann ich im Detail nicht weiterhelfen.
Aber ich denke, es müsste möglich sein, sobald der Kunde ein Optionsfeld auswählt, das andere deaktiviert bzw.nicht mehr anwählbar ist.
Grüße
Logo

jonnyB
01.07.2008, 09:58
ich würde im Template [CSS Shop Templates oder Tabellen Shop Templates ] einfach verschiedene div´s anlegen, in denen die verschiedenen farbgruppen enthalten sind.

z.B.

DIV 1 : Crush Farben
DIV 2 : Musterfarben
DIV 3 usw.

diese kannste jetzt über javascript ein und ausblenden.

optisch würd ich das dann auf so ne art tab darstellung machen.

scripper
01.07.2008, 10:06
''>ZITAT(jonnyB @ Jul 1 2008, 9:58) 53976
ich würde im Template [CSS Shop Templates oder Tabellen Shop Templates ] einfach verschiedene div´s anlegen, in denen die verschiedenen farbgruppen enthalten sind.

z.B.

DIV 1 : Crush Farben
DIV 2 : Musterfarben
DIV 3 usw.

diese kannste jetzt über javascript ein und ausblenden.

optisch würd ich das dann auf so ne art tab darstellung machen.
[/b]
ja das hört sich gut an und so hab ich mir das auch vorgestellt aber ich wüsste nicht wie ich die gruppen in verschiedene DIVs bringe, da diese doch dynamisch erstellt werden ...

jonnyB
01.07.2008, 10:16
@scripper

jede option im shop hat eine ID,
jedem otions-wert wird ebenso ne "nummer" verpasst.

z.B.

Farben = ID 3

grün = 50


und so kannste die dann ansprechen:

die ID wird mit dem namen aufgerufen und der optionswert über value


<input type="radio" name="id[3]" value="50" checked="checked" />

jonnyB
01.07.2008, 11:27
achso

ein nachteil an dieser variante ist, daß halt nix mehr dynamisch generiert wird. du mußt halt im template alles per hand machen.

bedeutet also auch neue option im shop: schon muß daß template nachgearbeitet werden damit die option snichtbar und auswählbar wird.

scripper
01.07.2008, 12:48
ok hab mal ne vorübergehende Lösung gemacht .. diese funktioniert einfach so:

per Smarty Tag wird überprüft ob die ID der Option mit der ersten der Farbgruppe übereinstimmt. Wenn ja dann wird einfach eine Überschrift eingefügt.

Ihr könnts euch in dem shop der oben schon steht mal anschauen

martin_the_joiner
01.07.2008, 13:22
''>ZITAT(scripper @ Jul 1 2008, 12:48) 54024
ok hab mal ne vorübergehende Lösung gemacht .. diese funktioniert einfach so:
per Smarty Tag wird überprüft ob die ID der Option mit der ersten der Farbgruppe übereinstimmt. Wenn ja dann wird einfach eine Überschrift eingefügt.
[/b]
Also ich habe das in meinem Shop so gelöst:
Beispiel Schubladen (http://anonym.to/?http://www.der-schub-laden.eu/ShopSystem/product_info.php/info/p15_Innenschublade-Blum-Tandembox-358-M-ma-genau-auf-Breite-gefertig.html)
Wie die Reihung der Attribute eingegeben wird, habe ich hier schon gepostet. (http://www.ecombase.de/forum/index.php?showtopic=8352&st=0&p=46897&#entry46897)

Mein table_listing_attributes.php sieht folgendermaßen aus:
{if $options!=''}


<table width="100%" border="0" cellpadding="0" cellspacing="1">
**** {foreach name=outer item=options_data from=$options}
******<tr bgcolor="#f2f2f2">
********<td class="tableListingIII" colspan="4">{$options_data.NAME}:</td>
**</tr>
{php}
$count=0;
{/php}
****** {foreach key=key_data item=item_data from=$options_data.DATA}
****<tr class="{cycle values="tableListingI,tableListingII"}">
******<td style="padding: 3px;">

{php}
$count++;
if ($count==1) {
{/php}
******<input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" checked="checked" />
{php}
} else {
{/php}
******<input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" />
{php}
}
{/php}******</td>
******<td style="padding: 3px;" align="left"><div style="margin-left:5px;">{$item_data.TEXT}

******{$item_data.DESCRIPTION}</div></td>
******<td style="padding: 3px;" align="left" >{if $item_data.IMAGE}{$item_data.IMAGE}{/if}

************************************************** ************ {if $options_data.NAME!="lnichtes Schrankmaß"}ArtNr.:{/if} {$item_data.MODEL} </td>
******
******<td style="padding: 3px;" align="right" width="90">{if $item_data.PRICE}{$item_data.PREFIX}{$item_data.PR ICE}{/if}
******{if not $item_data.PRICE}
********{if $options_data.NAME=="lnichtes Schrankmaß"}
******{if $item_data.IMAGE}{$item_data.IMAGE}{/if}
******{if $item_data.IMAGE ==''} ------- {/if}
****{/if}
****{if $options_data.NAME != "lnichtes Schrankmaß"}Grundpreis{/if}
******{/if}
******</td>
****</tr>
******{/foreach}
******{/foreach}
</table>
{/if}

Gruß,
Martin

jonnyB
01.07.2008, 21:47
''>ZITAT(scripper @ Jul 1 2008, 12:48) 54024
ok hab mal ne vorübergehende Lösung gemacht .. diese funktioniert einfach so:

per Smarty Tag wird überprüft ob die ID der Option mit der ersten der Farbgruppe übereinstimmt. Wenn ja dann wird einfach eine Überschrift eingefügt.

Ihr könnts euch in dem shop der oben schon steht mal anschauen
[/b]


haste das jetzt dynmisch hinbekommen?

wenn ja kannste mir das mal ein wenig genauer beschreiben?

scripper
02.07.2008, 14:13
so wie ich das gemacht habe ist das nicht wirklich dynamisch ...
ich hab die attribute einfach per back end angeordnet und dann
im code über prüft ob ein entsprechendes Attribut bearbeitet wird
und wenn ja dann die Überschrift der Gruppe ausgegeben ...
Hier mal code dazu

********"radio_main">
********"radio_title" style="margin-bottom:10px;">{$options_data.NAME}:</div>
********{foreach key=key_data item=item_data from=$options_data.DATA}
********{if $item_data.ID==21}
******** "farb_gruppe">PG0 Krepp Stoff</div>
********{/if}
******** {if $item_data.ID==13}
******** "farb_gruppe">PG1 Jacquard Stoff</div>
********{/if}
********{if $item_data.ID==412}
******** "farb_gruppe">PG0 Optima Stoff</div>
********{/if}
******** {if $item_data.ID==163}
******** "farb_gruppe">PG0 Optima Perlmutt Beschnichtet</div>
********{/if}
******** {if $item_data.ID==392}
******** "farb_gruppe">PG2 Somnio Perlmutt Verdunkelungen</div>
********{/if}
******** "radio" style="margin-right:40px; text-align:center; float:left;">
************"radio_text" style="margin-bottom:5px;">{$item_data.DESCRIPTION}</div>
************{if $item_data.IMAGE}{$item_data.IMAGE}{/if}
************"radio_kommentar">{$item_data.TEXT}</div>************
************"price">{if $item_data.PRICE != ''}{$item_data.PREFIX}{$item_data.PRICE}{/if}</div>
************<input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" {php} if ($n == 0) echo 'checked="checked"';{/php} n="{php} echo $n; {/php}" onClick="updatePrice();" />
************</div>
********{/foreach}
******** <br style="clear:both;" />
******** </div>

jonnyB
02.07.2008, 14:29
schade, wie bei mir.....

wenn man das jetzt noch irgendwie dynamisch gestallten könnte, würde mir viel arbeit ersparen.

ich muß zur zeit auch jede farbänderung im template anpassen :(