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: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX

    Sebastian M.

    • Neu im Forum
    • Beiträge: 33
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #195 am: 17. Oktober 2012, 15:27:36
    Hallo, habe das Modul Installiert, jedoch funktioniert es nicht so wie eigentlich gedacht. Ich habe "Artikelmerkmale" und "Optionswerte" eingefügt, jedoch wenn ich einem Artikel die "Attribute editieren" sprich hinzufügen möchte und die jeweiligen Optionen Links (häckchen setzen) markiere, Preis mit = setze, speichert das System die Artikelattribute zu dem Artikel nicht ab. Was habe ich falsch gemacht?  :?:

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #196 am: 11. Februar 2013, 12:53:09
    Hat jemandem das Module in Version 1.06 laufen und könnte hier die Anpassungen verraten?

    Ich habe es zwar selber versucht, komme damit aber nicht klar. Das Module hatte ich bis jetzt in der Version 1.05Sp1b einwandfrei laufen und war super zufrieden damit. Nun muss ich bis Ende März wegen php 5.4 umstellen und habe fast alles fertig einrichten können bis auf dieses Module. Ich würde mich wahnsinnig über Antworten freuen.

    Grüsse aus Hamburg

    astaller

    • Fördermitglied
    • Beiträge: 686
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #197 am: 11. Februar 2013, 19:10:22
    Hallo anentpachwork,

    ich habe es am laufen...
    Ich poste mal meine geänderten Dateien, diese kannst du dann mittels z.B. Notepad++ vergleichen.
    Ich übernehme aber keinerlei Garantie  ;-)

    Die Änderungen sind immer wie folgt kenntlich gemacht:
    Code: PHP  [Auswählen]
    /* ORIGINAL
    ...
    */


    // START STAMAGRAF - XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    ...
    ...
    ...
    // ENDE STAMAGRAF - XTC ATTRIBUTE PRICE & WEIGHT PREFIX

    Fall noch andere Einträge "STAMAGRAF" vorhanden sind, sind diese für andere Änderungen!

    Grüße aus dem Ländle :-)

    MfG
    Achim S.

    [EDIT Tomcraft 19.09.2013: Angepasste Dateien zusammen mit Anleitung als Modul in Beitrag 1 ergänzt.]

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #198 am: 12. Februar 2013, 14:01:29
    Hallo Achim,

    vielen Dank. Ich habe deiner Dateien jetzt mit meiner Änderungen abgeglichen. Es waren bis auf die product_attributes.php die Gleichen. Ich habe jetzt meine product_attributes.php deiner angepasst. Funktioniert das Modul bei dir bei mit Sonderangeboten? Da habe ich noch Probleme.

    Grüsse aus Hamburg

    astaller

    • Fördermitglied
    • Beiträge: 686
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #199 am: 12. Februar 2013, 18:01:04
    Hallo anentpachwork,

    nein funktioniert hier nicht!
    Das hatte noch bis dato auch noch nicht getestet...

    Ich muss mich korrigieren.
    Wenn du im Adminbereich bei dem Artikel einen Sonderpreis eingibst, z.B. 10%,
    werden diese bei dem 1. Attribut richtig abgezogen.
    Bei dem 2. Attribut werden aber keine 10 % abgezogen, sondern der errechnete Rabatt auf den Artikelpreis

    Beispiel:
    Unser bisheriger Preis 42,72 EUR
    Jetzt nur ab 38,45 EUR
    Sie sparen 10 % / 4,27 EUR

    Jetzt werden ab dem 2. Attribut die 4,27 EUR abgezogen

    MfG
    Achim S.

    astaller

    • Fördermitglied
    • Beiträge: 686
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #200 am: 12. Februar 2013, 18:51:25
    Das scheint aber auch in der Urprünglichen Version so zu sein...

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Hat dafür jemand eine Lösung?

    MfG
    Achim S.

    web28

    • modified Team
    • Beiträge: 9.404
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #201 am: 12. Februar 2013, 19:37:25
    Das kann man nur mit einem Zusatzmodul "Sonderpreise für Attribute" lösen. Dann kann man bei jedem Attributpreis noch einen zusätzlichen Sonderpreis eintragen. Für den eigentlichen Artikelpreis wird kein Sonderpreis mehr eingetragen, dafür aber eine Markierung "Sonderpreis aus Attributen".
    Dadurch wird der Artikel auch den Sonderpreisen gelistet, die Berechnung des Sonderpreises ist aber völlig anders.
    Mit dem Modul ist es auch möglich nur eine einzige Option als Sonderpreis zu definieren. In den Beispiel könnte man also nur die 800ml reduzieren

    Dieses Modul kann bei mir bestellt werden. Anfrage über mein Kontaktformular

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #202 am: 13. Februar 2013, 07:56:20
    Ich verstehe nur nicht, wieso in 1.06 rev 4356 die Berechnung anders läuft als in 1.05 Sp1b. Ich habe das Modul seit über 2 Jahren jetzt im laufenden Shop eingesetzt. Dort funktioniert es einwandfrei. Nun bin ich dabei, den Shop auf 1.06 umzustellen und die Berechnungen funktionieren nicht mehr so wie bis jetzt.

    Ich habe einen Screenshot angehängt mit einem Abbild aus dem laufenden Shop und darunter das Ergebnis nach der Umstellung auf 1.06 auf xampp. Meine Dateien aus dem laufenden Shop habe ich mit den Original-Dateien des Modules verglichen - geändert hatte ich da nichts. Allerdings ist die Zeile "nur 14,00 EUR pro Meter" in beiden Fällen Sp1b zusammengesetzt aus dem Preis + einem Zusatzfeld und ist nicht der VPE-Preis, der bei beiden Versionen als 140,00 EUR ausgewiesen wird, da ich 0.01 in dem Feld VPE eingetragen habe.

    Es scheint im Moment, dass die Berechnung der Sonderangebote bei den Attributen bei denen VPE aktiviert ist nur Attributpreis - (Rabatt Produktpreis absolut) = Sonderpreis Attribut berechnet und das Gewicht des Attributs nicht berücksichtigt wird.

    Ich werde die Dateien erstmal erneut vergleichen und versuchen es hinzubekommen ohne weiteren Zusatzmodulen.

    Grüsse aus Hamburg

    web28

    • modified Team
    • Beiträge: 9.404
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #203 am: 13. Februar 2013, 10:47:50
    Zitat
    Ich verstehe nur nicht, wieso in 1.06 rev 4356 die Berechnung anders läuft als in 1.05 Sp1b.

    Die Berechnung ist identisch, Du Hast etwas anderes vergessen einzubauen, vergleiche Deine includes/modules/product_attributes.php

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #204 am: 13. Februar 2013, 13:44:53
    Ich habe jetzt meine Sp1b Version mit dem Original Module aus Beitrag 1 verglichen und keine wesentliche Änderungen finden können. Hier meine Datei includes/modules/product_attributes.php (Sp1b). Vielleicht habe ich etwas übersehen:

    Code: PHP  [Auswählen]
    $module_smarty = new Smarty;
    $module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

    $products_options_data = array();
    if ($product->getAttributesCount() > 0) {
            $products_options_name_query = xtDBquery("select distinct popt.products_options_id, popt.products_options_name from ".TABLE_PRODUCTS_OPTIONS." popt, ".TABLE_PRODUCTS_ATTRIBUTES." patrib where patrib.products_id='".$product->data['products_id']."' and patrib.options_id = popt.products_options_id and popt.language_id = '".(int) $_SESSION['languages_id']."' order by popt.products_options_name");

            $row = 0;
            $col = 0;
            $products_options_data = array ();
            while ($products_options_name = xtc_db_fetch_array($products_options_name_query,true)) {
                    $selected = 0;
                    $products_options_array = array ();

                    $products_options_data[$row] = array ('NAME' => $products_options_name['products_options_name'], 'ID' => $products_options_name['products_options_id'], 'DATA' => '');
                    $products_options_query = xtDBquery("select pov.products_options_values_id,
                                                                     pov.products_options_values_name,
                                                                     pa.attributes_model,
                                                                     pa.options_values_price,
                                                                     pa.price_prefix,
                                                                                                                     pa.options_values_weight,
                                                                     pa.attributes_stock,
                                                                     pa.attributes_model
                                                                     from "
    .TABLE_PRODUCTS_ATTRIBUTES." pa,
                                                                     "
    .TABLE_PRODUCTS_OPTIONS_VALUES." pov
                                                                     where pa.attributes_stock> 0 AND pa.products_id = '"
    .$product->data['products_id']."'
                                                                     and pa.options_id = '"
    .$products_options_name['products_options_id']."'
                                                                     and pa.options_values_id = pov.products_options_values_id
                                                                     and pov.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                                                     order by pa.sortorder"
    );
                    $col = 0;
                    while ($products_options = xtc_db_fetch_array($products_options_query,true)) {
                            $price = '';
                            if ($_SESSION['customers_status']['customers_status_show_price'] == '0') {
                                    $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' => '', 'FULL_PRICE' => '', 'PREFIX' => $products_options['price_prefix']);
                            } else {
                                    if ($products_options['options_values_price'] != '0.00') {
                                            $price = $xtPrice->xtcFormat($products_options['options_values_price'], false, $product->data['products_tax_class_id']);
                                    }

                                    $products_price = $xtPrice->xtcGetPrice($product->data['products_id'], $format = false, 1, $product->data['products_tax_class_id'], $product->data['products_price']);
                                   
                                    //BOF PRICE PREFIX
                                    if ($_SESSION['customers_status']['customers_status_discount_attributes'] == 1 && $products_options['price_prefix'] != '-') {
                                            $price -= $price / 100 * $discount;
                                    }
                                           
                                    $attr_price=$price;
                                    if ($products_options['price_prefix']=="-") $attr_price=$price*(-1);
                                    $full = $products_price + $attr_price;
                                   
                                    //xtc_mod_price_prefix
                                    $attr_info ='';
                                    $attr_vpe= '';
                                    if ($products_options['price_prefix']=="=") {
                                        $products_options['price_prefix']=''; //"=" Zeichen entfernen
                                            $original_price = $xtPrice->xtcFormat($product->data['products_price'], $format = false, $product->data['products_tax_class_id'], $curr = false, $vpeStatus = 0,$product->data['products_id']);                                
                                            if ($original_price > 0 ) {
                                                    $price = $price * $products_price/$original_price ; //die Attributpreise bekommen den Rabatt zugewiesen %!
                                                    //$price = $price + $products_price - $original_price ; //die Attributpreise bekommen den Rabatt zugewiesen absolut!
                                                    if (round($attr_price,2) != round($price,2)) $attr_info=  INSTEAD . $xtPrice->xtcFormat($attr_price, true) . ONLY; //Anzeige formatieren                                               
                                            }
                                            //$price -= $price / 100 * $discount;                                  
                                            //VPE Attribut                                 
                                            if ($product->data['products_vpe_status'] == 1 && $product->data['products_vpe_value'] != 0.0 && $products_options['options_values_weight'] > 0) {
                                                $attr_vpe = ' [' . TXT_BASEPRICE . trim($xtPrice->xtcFormat($price * (1 / $products_options['options_values_weight']), true)).TXT_PER.xtc_get_vpe_name($product->data['products_vpe']) . ' ]';                                             
                                            }
                                    }
                                    //end xtc_mod_price_prefix
                                           
                                    $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' => $attr_info . $xtPrice->xtcFormat($price, true),
                                                                                                                                            'FULL_PRICE' => $xtPrice->xtcFormat($full, true),
                                                                                                                                            //BOF ATTR VPE
                                                                                                                                            'ATTR_VPE' => $attr_vpe,
                                                                                                                                            //EOF ATTR VPE
                                                                                                                                            'PREFIX' => $products_options['price_prefix']);
                                    //EOF PRICE PREFIX
                                   
                                    //if PRICE for option is 0 we don't need to display it
                                    if ($price == 0) {
                                            unset ($products_options_data[$row]['DATA'][$col]['PRICE']);
                                            unset ($products_options_data[$row]['DATA'][$col]['PREFIX']);
                                    }

                            }
                            $col ++;
                    }
                    $row ++;
            }

    }

    if ($product->data['options_template'] == '' or $product->data['options_template'] == 'default') {
            $files = array ();
            if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/')) {
                    while (($file = readdir($dir)) !== false) {
                            if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_options/'.$file) and (substr($file, -5) == ".html") and ($file != "index.html") and (substr($file, 0, 1) !=".")) {
                                    $files[] = $file;
          }
                            }
                    closedir($dir);
            }
      sort($files);
            $product->data['options_template'] = $files[0];
    }

    $module_smarty->assign('language', $_SESSION['language']);
    $module_smarty->assign('options', $products_options_data);
    // set cache ID

            $module_smarty->caching = 0;
            $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/product_options/'.$product->data['options_template']);

    $info_smarty->assign('MODULE_product_options', $module);
    ?>

    Änderungen sind nur in Zeilen 13, 26, 59/60, 66 und 100-108 und haben soweit ich erkennen kann, keine Auswirkung auf die Berechnungen.  :-? :nixweiss:

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #205 am: 13. Februar 2013, 14:29:28
     :datz:  :wohow: Hatte die ganze Zeit überall Rabatt absolut gegen Rabatt % ausgetauscht. Nur nicht da, wo ich das in xampp abgerufen hatte. Wie blöd kann man sein. Ich könnte heulen.

    Da ich das Module mit Zusatzfelder für meine Zwecke etwas missbrauche, könnte vielleicht Achim auch noch testen, ob die Sonderangebote bei ihm richtig berechnet werden, wenn er in der Datei includes/modules/product_attributes.php die Zeilen

    Code: PHP  [Auswählen]
    if ($original_price > 0 ) {
    $price = $price * $products_price/$original_price ;
     //die Attributpreise bekommen den  Rabatt zugewiesen %!
    //$price = $price +  $products_price - $original_price ;
    //die Attributpreise bekommen den Rabatt zugewiesen  absolut!
     

    einfach anders auskommentiert:

    Code: PHP  [Auswählen]
    [code=php]if ($original_price > 0 ) {
    //$price = $price * $products_price/$original_price ;
     //die Attributpreise bekommen den  Rabatt zugewiesen %!
    $price = $price +  $products_price - $original_price ;
    //die Attributpreise bekommen den Rabatt zugewiesen  absolut!
     

    Damit werden die Rabatte prozentual berechnet anstatt absolut.

    Vielen Dank an web28, dass er sich die Zeit genommen hat, mir hier zu antworten und es tut mir leid, dass ich den Fehler nicht früher entdeckt habe.  :doh:

    astaller

    • Fördermitglied
    • Beiträge: 686
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #206 am: 13. Februar 2013, 17:06:50
    Hallo,

    also die Attributanzeige stimmt soweit, jedoch wenn ich den Artikel in dem Warenkorb lege,
    stimmt der Preis nicht mehr.

    Wahrscheinlich fehlt da bei mir noch eine Einstellung  :-?

    MfG
    Ach!m S.

    maidofkent

    • Fördermitglied
    • Beiträge: 124
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #207 am: 13. Februar 2013, 22:39:24
    @astaller: Da ich mich irgenwie daran erinnern konnte, dass ich das gleiche Problem vor 2 Jahren hatte habe ich den Thread nochmal durchgelesen. Auf Seite 9 steht die Lösung: Diese Zeile kommt auch in der Datei \includes\classes\xtcPrice.php ebenfalls vor und muss genau so wie in der Datei \includes\modules\product_attribues.php auskommentiert werden.

    Bei mir klappt es jetzt.

    Grüsse aus Hamburg

    astaller

    • Fördermitglied
    • Beiträge: 686
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #208 am: 14. Februar 2013, 16:44:28
    Hallo anentpachwork,

    eine Hand wäscht die Andere  :-)
    Danke, bei mir funktioniert es jetzt auch.

    MfG
    Achim S.

    d2m

    • B
    • Mitglied
    • Beiträge: 219
    • Geschlecht:
    Re: MODUL: XTC ATTRIBUTE PRICE & WEIGHT PREFIX
    Antwort #209 am: 15. März 2013, 09:58:13
    Hallo,

    auch ich nutze das Modul .. doch irgendwie kann ich nach Einbau keine Veränderung sehen.
    Ebenfalls ist mir aufgefallen, mal rundet der Shop auf und mal ab oO

    Preis kleinste Größe 7.95€
    Preis größte Größe 11.95€

    Attribute: [ Für Gäste sind keine Dateianhänge sichtbar ]
    Preisoption im Artikel: [ Für Gäste sind keine Dateianhänge sichtbar ]

    Könnte vielleicht jemand Helfen das Problem zu finden?
    Wäre super. Danke Euch.
    5 Antworten
    3582 Aufrufe
    12. September 2010, 21:40:15 von Tomcraft
    3 Antworten
    4121 Aufrufe
    02. Februar 2011, 16:55:23 von Tomcraft