Variante versandkostenfrei

Hallo zusammen,

ich möchte gerne einzelne Varianten eines Artikels als versandkostenfrei ausweisen. So habe ich einen Artikel mit verschiedenen Gebindegrößen, die dann als Varianten abgebildet werden. Das größte Gebinde soll versandkostenfrei angeboten werden. Leider scheint der Shop das nicht herzugeben, da ich ‘Versandkostenfrei’ bei einer Variante nicht anklicken kann.
Hinweis dort: 'Einstellung wird vom Vater-Artikel an die Varianten vererbt und gilt für den gesamten Artikel.'
Über das Gewicht kann ich das leider auch nicht realisieren, da es durchaus auch Artikel gibt, die auf keinen Fall versandkostenfrei angeboten werden sollen.

Hat jemand eine Idee oder gar Lösung wir man das trotzdem realisieren kann.

Danke.

Gruß

Tintenmann

Hallo Tintenmann,
falls erwünscht konnten wir dafür einen Modul schreiben.

Grüße
Rafig

Das gibt es schon, ist für Varianten nur nicht auswähl bar.

Ob die Bedinung konfortabel ist steht auf einem anderen Blatt.

Na das ist ja das Problem! Für einzelne Varianten ist es nicht wählbar. Es geht nur beim Vater - Artikel und wird dann vererbt. Und genau das ist nicht gewünscht. ich möchte für jede Variante einzeln entscheiden können ob versandkostenfrei oder eben nicht!

Danke.

Gruß Tintenmann

Zur Speicherung musst Du nur 2 Dinge ändern:

oxarticles.php
Ersetze:

protected $_aCopyParentField = array('oxarticles__oxnonmaterial',
                                         'oxarticles__oxfreeshipping',
                                         'oxarticles__oxisdownloadable',
                                         'oxarticles__oxshowcustomagreement');

mit:

protected $_aCopyParentField = array('oxarticles__oxnonmaterial',
                                         
                                         'oxarticles__oxisdownloadable',
                                         'oxarticles__oxshowcustomagreement');

und in article_extend.tpl
ersetze:

<tr>
                <td class="edittext" width="120">
                  [{ oxmultilang ident="ARTICLE_EXTEND_FREESHIPPING" }]
                </td>
                <td class="edittext">
                  <input class="edittext" type="hidden" name="editval[oxarticles__oxfreeshipping]" value='0'>
                  <input class="edittext" type="checkbox" name="editval[oxarticles__oxfreeshipping]" value='1' [{if $edit->oxarticles__oxfreeshipping->value == 1}]checked[{/if}] [{ $readonly }] [{if $oxparentid }]readonly disabled[{/if}]>
                  [{ oxinputhelp ident="HELP_ARTICLE_EXTEND_FREESHIPPING" }]
                </td>
              </tr>

mit:

 <tr>
                <td class="edittext" width="120">
                  [{ oxmultilang ident="ARTICLE_EXTEND_FREESHIPPING" }]
                </td>
                <td class="edittext">
                  <input class="edittext" type="hidden" name="editval[oxarticles__oxfreeshipping]" value='0'>
                  <input class="edittext" type="checkbox" name="editval[oxarticles__oxfreeshipping]" value='1' [{if $edit->oxarticles__oxfreeshipping->value == 1}]checked[{/if}] [{ $readonly }] [{*if $oxparentid }]readonly disabled[{/if*}]>
                  [{ oxinputhelp ident="HELP_ARTICLE_EXTEND_FREESHIPPING" }]
                </td>
              </tr>

TMP leeren. Danach sollte die Checkbox in den Varianten gespeichert werden.

Die Arbeitsweise ist natürlich nur zum Testen geeignet. Wenn es Deinen Belangen genügt, kann daraus ein Modul gemacht werden :wink:

dies ist eine standard funktion von oxid dazu braucht man kein modul

Ich habe leider keine Einstellmöglichkeit gefunden, um einer einzelnen Variante - und nur dieser - mitzugeben, das Sie versandkostenfrei ist!

Steht ja so auch im Admin drin: Einstellung wird vom Vater-Artikel an die Varianten vererbt und gilt für den gesamten Artikel.

Wenn es eine Alternative gibt, dann gerne her damit.

Gruß

[QUOTE=Tintenmann;184266]
Wenn es eine Alternative gibt, dann gerne her damit. [/QUOTE]

Gibt es nicht. Alleine schon deswegen, weil Du sonst an die Checkbox nicht rankommst.

[{if $oxparentid }]readonly disabled[{/if}]

Ist mir schon klar! Aber Aggrosoft ist ja der Meinung das sei eine Standard Funktion von Oxid.

Kann ja nicht, weil jede Variante einen Eintrag in der Spalte

oxarticles__oxparentid

hat. Desweiteren wird jeder Wert, den Du eingibst, von

protected $_aCopyParentField = array('oxarticles__oxnonmaterial',
                                         'oxarticles__oxfreeshipping',
                                         'oxarticles__oxisdownloadable',
                                         'oxarticles__oxshowcustomagreement');  

überschrieben.

es ist nicht wirklich “DIE” Lösung, aber eine Möglichkeit:

  1. Man erstelle ein Produkt “kostenlose Lieferung”
  2. diesen Artikel über die Funktion “Artikel dazu” der gewünschten Variante zuweisen
  3. Versandkostenregel für vsk-freie Lieferung an den neuen “kostenlose Lieferung” Artikel knüpfen und schon ist die Variante versandkostenfrei.
  4. dann sollte man aber im Warenkorb Template den Link zum Zugabe-Artikel rausnehmen und den “versandkostenfreie Lieferung” Artikel versteckt machen, damit man ihn nicht einfach so in den WK legen kann und sich die versandkostenfreie Lieferung erschleichen.