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: AJAX 1 Page Checkin Checkout modified eCommerce Shopsoftware 1.05 SP1d

    Simon

    • Viel Schreiber
    • Beiträge: 1.358
    ich sag da nur "/includes/external/herstellername/modulname/*" bzw. /admin/includes/external/../*.
    Der Haken ist nur, das Verzeichnis admin/includes/external gibt es selbst im Trunk noch nicht.
    In der Datei admin\includes\configure.php ist zwar etwas defniert
    Code: PHP  [Auswählen]
    define('DIR_WS_EXTERNAL', DIR_WS_CATALOG . 'includes/external/');
    define('DIR_FS_EXTERNAL', DIR_FS_CATALOG . 'includes/external/');
    bezieht sich jedoch auf das Frontend Verzeichnis.

    Wäre gut, wenn man das noch für die Admin erweitert, z.B.
    Code: PHP  [Auswählen]
    define('DIR_WS_ADMIN_EXTERNAL', DIR_WS_CATALOG . 'admin/includes/external/');
    define('DIR_FS_ADMIN_EXTERNAL', DIR_FS_CATALOG . 'admin/includes/external/');

    Simon

    • Viel Schreiber
    • Beiträge: 1.358
    Das Modul zeigt mir im Dropdown bei den Attributen statt den Aufpreisen immer den Grundpreis des Artikels an. Also nicht + 2 Euro, sondern z.B. 14 Euro, aber es ist nicht der aufsummierte Wert von 16 Euro.
    Nur bei keinem Aufpreis steht dort richtig 0,00 Euro. Der Artikelpreis rechts in der Zeile ist auch korrekt.

    Ich finde die Stelle momentan nicht, die das erzeugt, hat jemand einen Tipp ?  :thx:

    dirkh

    • Neu im Forum
    • Beiträge: 20
    • Geschlecht:
    Hi Simon
    Hab leider das selbe Problem. Konntest du das schon lösen?

    Kann es sein das sich das Problem in diesem Block in der ajax_checkout.php verbirgt?
    Code: PHP  [Auswählen]
    $html_attr = '';
          if (isset($products_attributes) && sizeof($products_attributes) > 0) {
            for ($j=0, $m=sizeof($products_attributes); $j<$m; $j++) {
              $products_option_name = $order->products[$i]['attributes'][$j]['option'];
              $products_option_id = $order->products[$i]['attributes'][$j]['option_id'];
              $products_option_value = $order->products[$i]['attributes'][$j]['value'];

              if (CHECKOUT_AJAX_PRODUCTS == 'true') {
                $html_attr .= '<li>'.$products_option_name.': <span class="products-attr-dropdown">'.$this->getAttributesDropdown($products_id, $products_option_id, $products_option_value).'</span></li>';
              } else {
                $html_attr .= '<li>'.$products_option_name.': <span class="products-attr-value">'.$products_option_value.'</span></li>';
              }
            }
          }

          $data_products .= $html_attr ? '<ul class="products-attributes">'.$html_attr.'</ul>' : '';

          if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 &&
              $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1 &&
              sizeof($order->info['tax_groups']) > 1) {

            $data_products .= '<div class="products-tax-info">'.str_replace('%s', xtc_display_tax_value($products_tax_info.' %'), TAX_INFO_ADD).'</div>';
          }

          $data_products .= '</li>';
        }

        $data_products .= '</ul>';


        return $data_products;
      }


      function getAttributesDropdown($products_id, $products_option_id, $products_option_value) {
        global $xtPrice;
        if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '1') {
          $tax_query = xtc_db_query("SELECT products_tax_class_id FROM ".TABLE_PRODUCTS." WHERE products_id = '".$products_id."'");
          $tax_value = xtc_db_fetch_array($tax_query);
        }

        $dropdown = '<select size="1">';
        $query1 = xtc_db_query("SELECT * FROM ".TABLE_PRODUCTS_ATTRIBUTES." WHERE products_id = '".$products_id."' AND options_id = '".$products_option_id."'");
        if (xtc_db_num_rows($query1) <= 1) {
          // Only one attribute
          $query1_array = xtc_db_fetch_array($query1);
          $query2 = xtc_db_query("SELECT * FROM ".TABLE_PRODUCTS_OPTIONS_VALUES." WHERE language_id = '".$_SESSION['languages_id']."' AND products_options_values_id = '".$query1_array['options_values_id']."'");
          $query2_array = xtc_db_fetch_array($query2);
          return $query2_array['products_options_values_name'];
        } else {
          // More than one attribute
          while ($query1_array = xtc_db_fetch_array($query1)) {
            $query2 = xtc_db_query("SELECT * FROM ".TABLE_PRODUCTS_OPTIONS_VALUES." WHERE language_id = '".$_SESSION['languages_id']."' AND products_options_values_id = '".$query1_array['options_values_id']."'");
            $query2_array = xtc_db_fetch_array($query2);

            // Check if selected
            if (html_entity_decode($query2_array['products_options_values_name']) == html_entity_decode($products_option_value)) {
              $html_selected = ' selected';
            } else {
              $html_selected = '';
            }

            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '0' ||
                $query1_array['options_values_price'] == 0) {
              $tax_new_display = $xtPrice->xtcFormat($query1_array['options_values_price'], true);
            } else {
              $tax_new = ($xtPrice->xtcGetPrice($products_id, $format = true, 1, $tax_value['products_tax_class_id'], $query1_array['options_values_price'], 1));
              $tax_new_display = $xtPrice->xtcFormat($tax_new['plain'], true);
            }

            $dropdown .= '<option value="'.$products_id.'|'.$products_option_id.'|'.$query2_array['products_options_values_id'].'"'.$html_selected.'>'.$query2_array['products_options_values_name'].' '.$query1_array['price_prefix'].' '.$tax_new_display.'</option>';
          }
        }
        $dropdown .= '</select>';
        return $dropdown;
      }

    Simon

    • Viel Schreiber
    • Beiträge: 1.358

    Hallo Dirk,

    danke, dass du den Fehler bestätigt hast. Liegt also nicht an mir.

    Mit der includes/classes/ajax_checkout.php liegst du richtig.
    Genauer die Funktion getAttributesDropdown

    Dort dann:
    Code: PHP  [Auswählen]
            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '0' ||
                $query1_array['options_values_price'] == 0) {
              $tax_new_display = $xtPrice->xtcFormat($query1_array['options_values_price'], true);
            } else {
              $tax_new = ($xtPrice->xtcGetPrice($products_id, $format = true, 1, $tax_value['products_tax_class_id'], $query1_array['options_values_price'], 1));
              $tax_new_display = $xtPrice->xtcFormat($tax_new['plain'], true);
            }

            $dropdown .= '<option value="'.$products_id.'|'.$products_option_id.'|'.$query2_array['products_options_values_id'].'"'.$html_selected.'>'.$query2_array['products_options_values_name'].' '.$query1_array['price_prefix'].' '.$tax_new_display.'</option>';
     

    Der Fehler ist wahrscheinlich in dieser Zeile oder abhängigen:
    Code: PHP  [Auswählen]
    $tax_new_display = $xtPrice->xtcFormat($tax_new['plain'], true);

    Die Lösung fehlt mir noch.
    Das Original Imedes Modul unterscheidet sich in diesem Bereich nicht, muss den Fehler also auch haben.

    dirkh

    • Neu im Forum
    • Beiträge: 20
    • Geschlecht:
    Wenn ich in dieser Zeile
    Code: PHP  [Auswählen]
        $tax_new_display = $xtPrice->xtcFormat($tax_new['plain'], true);
    true gegen false tausche werden tatsächlich die richtigen Preise angezeigt allerdings ohne nachkommastellen und "EUR"

    Aber immerhin schonmal besser als der falsche Preis.

    Simon

    • Viel Schreiber
    • Beiträge: 1.358
    Also bei mir funktioniert es jetzt so.

    Tausche
    Code: PHP  [Auswählen]
    $tax_new_display = $xtPrice->xtcFormat($tax_new['plain'], true);

    mit

    Code: PHP  [Auswählen]
    $tax_new_display = $xtPrice->xtcFormat($query1_array['options_values_price'], true, $tax_value['products_tax_class_id'], true);

    dirkh

    • Neu im Forum
    • Beiträge: 20
    • Geschlecht:
    Einwandfrei :wohow: danke dir!

    Simon

    • Viel Schreiber
    • Beiträge: 1.358
    Wie bekomme ich bei diesem Modul den "Grundpreis" ohne die Attribute-Aufschläge ?
    Die Funktion getProducts liefert leider nur die Endpreise inklusive Aufschlägen.
    Beide Variablen enthalten unsinnigerweise den gleichen Wert
    Code: PHP  [Auswählen]
    $products_price = $xtPrice->xtcFormat($order->products[$i]['price'], true);
    $products_formatted_price = $xtPrice->xtcFormat($order->products[$i]['final_price'], true);

    Die Idee wäre, man könnte den Grundpreis extra ausweisen, damit für Kunden klar nachvollziehbar ist wie sich die Summe zusammensetzt. Es soll vermieden werden, dass die Kunden die Meinung haben, dass die Aufschläge noch zum Preis hinzukommen und dann den Kauf abbrechen.

    swinni

    • Neu im Forum
    • Beiträge: 17
    • Geschlecht:
    Hallo zusammen,

    erstmal vielen Dank für das tolle Modul und die Anpassung!
    Ich habe es nach der Anleitung problemlos einbauen können und es funktioniert auf Anhieb!

    Eine Frage hätte ich aber trotzdem noch bezüglich Usability, wäre es möglich die Zahlungsweise direkt zu bestätigen über die Auswahl des Radio-Button, also ohne Umweg über das Bestätigen?

    Das Problem ist ja wenn der Kunde nur kurz was auswählt ohne den Button zu klicken dann wird die eigentlich nachgelagerte Zahlungsart (Kreditkarte bspw.) nicht durchgeführt...

    Jemand eine Idee wie ich das am besten anpassen kann?

    Danke und viele Grüße,
    Sven

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    habe das Modul in eine aktuelle 1.06er installiert und funktioniert (bis jetzt) ohne Probleme.

    Folgende Frage:
    Wenn man bei den Zahlungsarten z.B. zwischen Vorkasse und  Paypal wechselt, kommt ja der Speichern-Button. Nun meine Frage: Gibt es eine Möglichkeit, damit der Kunde nicht auf diesen Speichern-Button klicken muss und die Anderung der Zahlungsmethode automatisch übernommen wird?

    Wo bzw. wie stell man das ein bzw. welche Dateien muss man anpassen?

    Danke.

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    @lohkaes: Möglich ja. Vllt. schaut Ralph danach, ansonsten werd ich es mir mal anschauen, wenn ich das Modul bei mir eingebaut habe.

    @Ralph: Kannst du vllt. das hier noch Fixxen: http://www.modified-shop.org/forum/index.php?topic=23775.msg221121#msg221121

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    funktioniert bei Euch die Darstellung der Kurzbeschreibung eines Artikels?

    Datei: /includes/classes/ajax_checkout.php
    Funktion: getProducts()

    Code: PHP  [Auswählen]
    $data_products .= '<div class="products-description"><small>' . (!empty($order->products[$i]['short_description'])?trim(strip_tags($order->products[$i]['short_description'])):trim(substr(strip_tags($order->products[$i]['description']),0,300))). ' [...]' . '</small></br></br></div>';
     

    Bei mir ist der Inhalt immer leer. Jemand eine Idee?

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    wollte mal kurz in die Runde fragen, wer den dieses Modul im produktiven Einsatz hat?

    Habe gerade festgestellt, dass das Erstellen eines Kundenkontos nicht richtig funktioniert, bzw. das
    die Weiterleitung zum Checkout nicht erfolgt. Wenn ein Gastkonto erstellt wird, funktioniert
    die Weiterleitung zum Checkout.

    Außerdem geht die automatische Vergabe der Kundennummer, weder beim Anlegen eines Gast- noch Kundenkontos, leider auch nicht :-(.

    Gibt es hier irgendwelche Ideen, Vorschläge, Erfahrungen?

    Danke.

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    habe gerade in der \includes\ajax_checkout_actions.php nach

    Code: PHP  [Auswählen]
    $_SESSION['customer_id'] = xtc_db_insert_id();

    gesucht und danach den Code zur automatischen Kundennummern-Erstellung
    http://www.modified-shop.org/forum/index.php?topic=12787.0 eingefügt.

    Scheint zu funktionieren. Könntet Ihr das mal Bitte prüfen ob das bei Euch auch funktioniert?

    Danke!

    lohkaes1

    • Schreiberling
    • Beiträge: 460
    Hallo,

    konnte schon jemand testen, ob das mit der automatischen Kundennummer bei Euch auch funktioniert?
    siehe: http://www.modified-shop.org/forum/index.php?topic=23775.msg226369#msg226369

    Das Formular für die Erstellung eines neuen Kundenkontos ist zum Formular in der aktuellen 1.06 Version nicht identisch. Gibt es hier eine Möglichkeit, das Formular der 1.06 Version zu verwenden?

    Danke!
    54 Antworten
    29508 Aufrufe
    19. Februar 2018, 14:34:32 von Jürgen
    2 Antworten
    2699 Aufrufe
    29. August 2013, 10:04:51 von Tomcraft
    2 Antworten
    2563 Aufrufe
    29. August 2013, 10:04:42 von Tomcraft
    15 Antworten
    10142 Aufrufe
    26. Juli 2011, 03:31:38 von GTB
               
    anything