Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Rabatt auf Artikelattribute anzeigen

    webturtle

    • Neu im Forum
    • Beiträge: 7
    Rabatt auf Artikelattribute anzeigen
    am: 29. Februar 2012, 08:20:22
    Hallo.
    Ich bin neu hier. Ich heisse Christoph, bin 34 und habe seit ein paart Tagen mit dem modified eCommerce Shopsoftware experimentiert.
    Folgendes Problem habe ich, welches in der SuFu nicht finden konnte. Dort geht es immer um anderes.

    Also:
    Artikel hat Grundpreis von 100 Euro und max Rabatt von 20.00 eingetragen.
    Der Artikel hat Optionen in folgender Art:
    Option 1 : Nein + 0 Euro Ja + 20 Euro
    Option 2 : Nein + 0 Euro Ja + 20 Euro

    In der Gruppe Händler habe ich eingetragen: Rabatt 20.00 und Rabatt auf Attribute: Ja.

    Wenn jetzt der Artikel angezeigt wird, steht dort:
    Preis ab 80 Euro. Sie sparen 20% / 20 Euro.
    Bei den Optionen steht aber jeweils 20 Euro.

    Im Warenkorb ist es dann korrekt mit Rabatt berechnet.
    Mein Problem ist also, dass der Händler den Rabatt auf die Optionen nicht sieht.

    Kann mir da wer weiterhelfen?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=18549.0
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware

    webturtle

    • Neu im Forum
    • Beiträge: 7
    Re: Rabatt auf Artikelattribute anzeigen
    Antwort #1 am: 29. Februar 2012, 10:15:34
    Also, ich glaube ich weiss wo ich ansetzen muss:
    in der product_options_selections.html wird das ja dargestellt:

    Code: PHP  [Auswählen]
    <table width="100%" border="0" cellspacing="0" cellpadding="0">                                                                                                                                        
      {foreach name=outer item=options_data from=$options}.                                                                                                                                                
      <tr>                                                                                                                                                                                                  
        <td valign="top" class="main" width="1%"><b>{$options_data.NAME}:</b>&nbsp;</td>                                                                                                                    
        <td class="main" width="99%">                                                                                                                                                                      
      {foreach key=key_data name=key_data item=item_data from=$options_data.DATA}                                                                                                                          
        <input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" {if $smarty.foreach.key_data.first}checked="checked" {/if} onclick="showPrice(this.form);"/>                                                                                                                                                                                                                    
        {$item_data.TEXT} {if $item_data.PRICE!=''}( {$item_data.PREFIX}{$item_data.PRICE} ){/if}                                                                                                          
        <br />                                                                                                                                                                                                                                                                                                                                                                                          
      {/foreach}                                                                                                                                                                                            
    </td>                                                                                                                                                                                                  
      </tr>                                                                                                                                                                                                
      {/foreach}.                                                                                                                                                                                          
    </table>      
    Das müsste $item_data.PRICE wohl nur irgendwie mit dem Rabatt verrechnet werden.
    Oder steht vielleicht in $item_data irgendwo der rabattierte Preis?

    Aber da ist mir die Sysntax und die Abfragemöglichkeit nicht klar.
    Kann mir jemand nen Tip geben wo ich da ne Doku finde?

    Christoph

    webturtle

    • Neu im Forum
    • Beiträge: 7
    Re: Rabatt auf Artikelattribute anzeigen
    Antwort #2 am: 29. Februar 2012, 12:24:26
    Ich krieg es einfach nicht berechnet.
    Ich weiss nicht wo ich die Daten herbekomme. In $item_data.PRICE ist der Preis schon formatiert. Da kann ich nicht anständig mit rechnen.
    Und in den Tags {} krieg ich auch die Session Variable nicht gelesen.

    Ich habs jetzt hin das anhand einer Kundengruppen ID ein zusätzlicher Text angezeigt wird der sagt dass die Rabatte bei den Optionen vom Shopsystem nicht dargestellt werden können und erst im Warenkorb berechnet werden.

    Komisch, dass nur ich dieses Problem haben soll, aber mir fallen einfach keine Suchbegriffe mehr ein.

    Christoph

    hendrik

    • Experte
    • Beiträge: 2.038
    Re: Rabatt auf Artikelattribute anzeigen
    Antwort #3 am: 29. Februar 2012, 12:53:48
    Ne. Das istn allgemeines Problem. Da gibts mehrere Rabattmechanismen und die werden nicht überall gleich berücksichtigt. Du bist da auf eine Stelle gestoßen.

    So aus der Hüfte hab ich zwar keine Lösung. Aber wenns dir hilft. Dieses $item_data.PRICE wird generiert in includes/modules/product_attributes.php, Zeile 110 ca.

    Code: PHP  [Auswählen]
    $products_options_data[$row]['DATA'][$col] = array (
          'ID' => $products_options['products_options_values_id'],
          'TEXT' => $products_options['products_options_values_name'],
          'MODEL' => $products_options['attributes_model'],
          'PRICE' => $xtPrice->xtcFormat($price, true),
          'FULL_PRICE' => $xtPrice->xtcFormat($full, true),
          'PLAIN_PRICE' => $xtPrice->xtcFormat($price,false),
          'STOCK' => $products_options['attributes_stock'],
          'SORTORDER' => $products_options['sortorder'],
          'PREFIX' => $products_options['price_prefix']
          );

    Gruß
    Hen

    webturtle

    • Neu im Forum
    • Beiträge: 7
    Re: Rabatt auf Artikelattribute anzeigen
    Antwort #4 am: 29. Februar 2012, 13:38:31
    Danke. Vielleicht kann ich was mit PLAIN_PRICE ausrichten....
    Das könnte gehen.

    Ich werde Rückmeldung geben.

    webturtle

    • Neu im Forum
    • Beiträge: 7
    Re: Rabatt auf Artikelattribute anzeigen
    Antwort #5 am: 29. Februar 2012, 14:05:05
    Der Tip war Gold wert.

    Mir ist dabei aufgefallen, dass der eintrag PLAIN Price gar nicht erstellt wird.
    Aber dann sah ich, dass in dieser Datei sehr wohl der Rabatt fürs Atribut berechnet wird.
    Hier:

    Code: PHP  [Auswählen]
    if ($_SESSION['customers_status']['customers_status_discount_attributes'] == 1 &&   products_options['price_prefix'] == '+').                                            
       $price -= $price / 100 * $discount;                                                                          
       
    $attr_price=$price;

    Die Variable $discount wurde aber ausser an dieser Stelle nie benutzt in der Datein.
    Ich habe jetzt einfach mal diese Zeil so ersetzt:

    Code: PHP  [Auswählen]
    $price -= $price / 100 * $_SESSION['customers_status']['customers_status_discount'];

    Und dann funktioniert es. Sogar mit dem Gesamtpreis Add On.

    Ich denke damit ist es gelöst. War echt wichtig für mich.
    Shop Hosting
    6 Antworten
    4828 Aufrufe
    03. September 2011, 00:00:50 von ploeve
    2 Antworten
    2351 Aufrufe
    06. Dezember 2012, 13:40:02 von flo.2012
    1 Antworten
    2127 Aufrufe
    07. Dezember 2012, 19:00:39 von knecht2020