Werbung / Banner buchen
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: Versandkosten nach Zonen UND Kategorien

    heini88

    • Neu im Forum
    • Beiträge: 45
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #45 am: 20. Februar 2012, 18:28:45
    Hallo zusammen,
    ich hätte eine Frage zum Modul Versandkosten nach Kategorien und Ländern und zwar:
    Wie werden die Versandkosten am Ende berechnet und angezeigt, wenn man 2 Produkte aus unterschiedlichen Kategorien mit unterschiedlichen VKs im Warenkorb hat?

    Werden die Versandkosten aufgegliedert, z. B.:

    1x Produkt aus Kategorie A
    1x Produkt aus Kategorie B
    _______________________
    Versandkosten für A: 05 €
    Versandkosten für B: 10 €
    _______________________
    ENDSUMME

    Eine Antwort würde mir sehr weiterhelfen. Screenshot wäre natürlich die Königsklasse ;-)

    Vielen Dank im Voraus.

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #46 am: 20. Februar 2012, 20:10:05
    Hallo Heini88,

    das Modul ist noch recht neu.
    Ich würde nicht auf mein Glück hoffen, daß jemand, der das Modul so verwendet, wie du es vorhast, diese Frage schnell liest.
    Ich selber verwende es, damit einige Kategorien andere Versandwege bzw. -kosten haben können.

    Ich habe gerade versucht, bei mir eine Konstellation hinzubekomme, um deine Frage beantworten zu können und habe festgestellt, dass ich evtl. mit meiner Aussage bei Re: Versandkosten (kategoriebezogen) zurückrudern muss.
    Ich habe es aber vielleicht zu sehr zweckentfremdet.

    Es wäre schön, wenn du es ausprobieren würdest und dann hier berichtest.
    Wenn du die ursprünglichen Dateien sicherst, kannst du alles wieder zurückdrehen.

    Viele Grüße
    Lionne

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #47 am: 01. April 2012, 14:39:31
    Tach allerseits,

    ein kleines Problem habe ich hier noch...

    Wenn ich alle Kategorien ausgewählt habe, und nach dem Speichern wieder etwas ändern will, sind die ausgewählten Zeilen nicht mehr markiert.
    Ich muss wieder alle auswählen, anstatt nur eine Zeile hinzuzufügen oder wegzunehmen.

    Viele Grüße
    Lionne

    PregLiz

    • Frisch an Board
    • Beiträge: 92
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #48 am: 05. April 2012, 17:00:10
    Hallo,

    wenn ich mich nicht täusche hat dieses Modul noch einen Recht großen Fehler, denn es berücksichtigt lediglich den Artikel der als letztes in den Warenkorb gelegt wurde.

    Hier ist der Fehler in includes/modules/shipping/zones.php:
    Code: PHP  [Auswählen]
       for($i=0, $x=sizeof($products); $i<$x; $i++){
                                  $check_query = xtc_db_query('select * from '.TABLE_PRODUCTS_TO_CATEGORIES.' where categories_id in ('.implode(',',$cats_array).') and products_id="'.(int)$products[$i]['id'].'"');
                                  if (xtc_db_num_rows($check_query)) {
                                  $is_zcategory = false;
                                                    } ELSE {
                                  $is_zcategory = true;
                                                    }
                                            }

    die for Schleife überschreibt den Wert $iszcategorie immer wieder sodass wie schon gesagt nur der letzte geprüfte Artikel berücksichtigt wird.

    Deshalb:
    Code: PHP  [Auswählen]
    if (xtc_db_num_rows($check_query)) {
                                  $is_zcategory = false;
                                                    } ELSE {

    ersetzen durch:
    Code: PHP  [Auswählen]
    $is_zcategory = false;
    break;
                            } ELSE {

    wenn jetzt ein Treffer erfolgt wird die Schleife abgebrochen und die Variable so nicht mehr überschrieben.

    Grüße Daniel

    PregLiz

    • Frisch an Board
    • Beiträge: 92
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #49 am: 06. April 2012, 00:47:00
    natürlich ersetzen durch:

    Code: PHP  [Auswählen]
    if (xtc_db_num_rows($check_query)) {
                                  $is_zcategory = false;
                                  break;
                                                    } ELSE {

    Gibts keinen Edit Button? =/

    Grüße Daniel

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #50 am: 06. April 2012, 01:36:15
    Gibts keinen Edit Button? =/

    Doch, aber nicht 7 Stunden später noch...

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #51 am: 06. April 2012, 20:28:03
    Hello again..,


    Wenn ich alle Kategorien ausgewählt habe, und nach dem Speichern wieder etwas ändern will, sind die ausgewählten Zeilen nicht mehr markiert.


    Ich arbeite noch immer an dem Problem und hoffe, der Lösung auf der Spur zu sein.
    Seit ich dieses Modul umgebaut habe, habe ich Dank diesem Forum einiges an Wissen und Durchblick dazugewonnen.

    Ich musste in der admin/includes/functions/html_output.php die Funktion xtc_draw_pull_multiselect_menu
    ändern.

    So muss sie - abgeleitet von oscommerce - vermutlich aussehen:
    Code: PHP  [Auswählen]
    function xtc_draw_pull_multiselect_menu($name, $values, $default = '', $params = '', $required = false) {
              $field = '<select multiple="multiple" name="' . xtc_output_string($name). '"';
            if (xtc_not_null($parameters)) $field .= ' ' . $parameters;

        $field .= '>' . "\n";

        if (empty($default) && isset($GLOBALS[$name])) $default = stripslashes($GLOBALS[$name]);

        for ($i = 0, $n = sizeof($values); $i < $n; $i++) {
          $field .= '<option value="' . xtc_output_string($values[$i]['id']) . '"';
          if (in_array($values[$i]['id'], $defaults)) {
            $field .= ' SELECTED';
          }

          $field .= '>' . xtc_output_string($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
        }
        $field .= '</select>';

        return $field;
      }
     

    Als Folge bekam ich folgende Fehlermeldung in admin/modules.php, wenn ich ein Versandmodul bearbeiten will:

    Zitat
    Fatal error: Call to undefined function xtc_parse_input_field_data() in [...]/admin/includes/functions/general.php on line 1684

    Daraufhin habe ich in admin/modules.php folgendes eingefügt:

    Nach
    Code: PHP  [Auswählen]
    require('includes/application_top.php');

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_parse_input_field_data.inc.php');

    Bei der jetzt erscheinenden Fehlermeldung bin ich allerdings ratlos:
    Zitat
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in [...]/admin/includes/functions/html_output.php on line 323

    Line 323 ist ein Teil der Funktion xtc_draw_pull_multiselect_menu :
    Code: PHP  [Auswählen]
    if (in_array($values[$i]['id'], $defaults)) {

    Habt ihr mehr Ideen als ich ?

    Viele Grüße
    Lionne

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #52 am: 06. April 2012, 21:57:37
    Hallo Lionne.

    Bei der Menge an Code die du postest, blickt doch keiner mehr durch der nicht immense Zeit da rein steckt.
    da wäre es besser du läßt da mal jemand helfen (Support im Forum).

    Ansonsten mach mal aus #039; &#39;, wenn das das Zeichen " ' " als HTML-entity sein soll.
    Ich weiß allerdings gerade nicht genau, ob nicht alle "&" automatisch in &amp; umgewandelt werden durch /includes/classes/Smarty_2.6.26/plugins/outputfilter.note.php .

    Salutations,
    noRiddle

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #53 am: 07. April 2012, 10:51:56
    Hallo noRiddle,

    du hast leider Recht mit deinem Einwand, dass man viel Zeit investieren muss, um überhaupt mein Problem verstehen zu könnern.
    Allerdings denke ich, dass - zumindest in diesem Fall - nicht die Menge an Code, sondern eher die Reihenfolge Schuld ist.
    Da du "Opfer" bist, darfst du mich gerne korrigieren, wenn ich sage, dass es besser gewesen wäre, mit der aktuellen Fehlermeldung zu starten und dann rückwärts zu gehen.
    Nur die Fehlermeldung posten, hätte doch sicher Fragen à la "Was hast du gemacht ?" oder "Was ist in Zeile 323?" hervorgerufen.

    Nun zu deinem Lösungsvorschlag: Leider kein Erfolg. ..

    Natürlich werde ich mich an den Premium Support wenden, wenn es erforderlich ist, aber da ich nicht zu den Großmeistern der Programmierer gehöre, sondern Großmeister im c&p bin, kann ich nicht beurteilen, ob jmnd. mit mehr Programmierkenntnissen nicht sofort weiß, was falsch ist.

    Cordialement
    Lionne

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #54 am: 07. April 2012, 18:13:25
    Die Fehlermeldung klingt als wenn $defaults kein array wäre ("wrong data type").
    Vielleicht kannst du das ja mal prüfen.
    Da muß aber mal jemand schauen der das Modul kennt.

    Gruß,
    noRiddle

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #55 am: 08. April 2012, 11:06:20
    Hallo noRiddle,

    dieses Modul kennt vermutlich keiner so richtig. Es ist urspr. eine contribution von OSC und von mir mit unermüdlicher Hilfe von franky_n angepasst worden. Leider kränkelt es noch etwas, was ich zu beheben versuche.

    ich glaube, dein Verdacht ist richtig. Ich habe bei der Recherche aber noch etwas gefunden, das mich vermuten lässt, das diese Funktion in ähnlicher Form mit anderem Namen bereits existiert. Das setzte ich jetzt erstmal um und melde mich wieder..

    Viele Grüße
    Lionne

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #56 am: 09. April 2012, 18:25:41
    Alsoooo...

    Es gibt bereits eine Funktion für ein Pulldown-Menu. Wie wird daraus ein Multiselect-Pulldownmenu ?
    Wer die Antwort schon jetzt weiß, braucht nicht weiterzulesen ;-)

    Für alle anderen folgende Zusatzinfos:

    Der Code für das Pulldown-Menu bei modified eCommerce Shopsoftware sieht so aus:

    Code: PHP  [Auswählen]
     function xtc_draw_pull_down_menu($name, $values, $default = '', $params = '', $required = false) {
        $field = '<select name="' . $name . '"';
        if ($params) $field .= ' ' . $params;
        $field .= '>';
            if(is_array($values))
            {
             foreach ($values as $key=>$val) {
                 $field .= '<option value="' .$val['id'] . '"';
                 if ( ((strlen($val['id']) > 0) && ($GLOBALS[$name] == $val['id'])) || ($default == $val['id']) ) {
                   $field .= ' SELECTED';    
                 }    
                 $field .= '>' . $val['text'] . '</option>';
             }
            }
        $field .= '</select>';

        if ($required) $field .= TEXT_FIELD_REQUIRED;

        return $field;
      }

    Die Anweisung für OSC lautet:

    Code: PHP  [Auswählen]

      function tep_draw_pull_multiselect_menu($name, $values, $defaults, $parameters = '') {
        $field = '<select multiple name="' . tep_output_string($name) . '"';

        if (tep_not_null($parameters)) $field .= ' ' . $parameters;

        $field .= '>' . "\n";

        if (empty($default) && isset($GLOBALS[$name])) $default = stripslashes($GLOBALS[$name]);

        for ($i = 0, $n = sizeof($values); $i < $n; $i++) {
          $field .= '<option value="' . tep_output_string($values[$i]['id']) . '"';
          if (in_array($values[$i]['id'], $defaults)) {
            $field .= ' SELECTED';
          }

          $field .= '>' . tep_output_string($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
        }
        $field .= '</select>';

        return $field;
      }
     

    Die Funktion tep_output_string sieht bei OSC so aus:

    Code: PHP  [Auswählen]
      // Parse the data used in the html tags to ensure the tags will not break
      function tep_parse_input_field_data($data, $parse) {
        return strtr(trim($data), $parse);
      }

      function tep_output_string($string, $translate = false, $protected = false) {
        if ($protected == true) {
          return htmlspecialchars($string);
        } else {
          if ($translate == false) {
            return tep_parse_input_field_data($string, array('"' => '&quot;'));
          } else {
            return tep_parse_input_field_data($string, $translate);
          }
        }
      }
     

    Bei modified eCommerce Shopsoftware gibt es die Datei inc/xtc_parse_input_field_data.inc.php
    Code: PHP  [Auswählen]
     
    // Parse the data used in the html tags to ensure the tags will not break
      function xtc_parse_input_field_data($data, $parse) {
        return strtr(trim($data), $parse);
      }
     

    Die Schilderung meiner fehlgeschlagenen Versuche erspare ich euch lieber.
    Stattdessen werde ich brav eure Vorschläge umsetzen und Feedback geben.
    Sollte es für euch nicht "mal eben" machbar sein, bitte Info statt Schweigen. Dann verschwende ich keine Zeit mehr und nehme den Premium-Support in Anspruch.

    Viele Grüße
    Lionne

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #57 am: 10. April 2012, 12:06:57
    Bei der jetzt erscheinenden Fehlermeldung bin ich allerdings ratlos:
    Zitat
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in [...]/admin/includes/functions/html_output.php on line 323

    Line 323 ist ein Teil der Funktion xtc_draw_pull_multiselect_menu :
    Code: PHP  [Auswählen]
    if (in_array($values[$i]['id'], $defaults)) {

    Habt ihr mehr Ideen als ich ?

    Hi,

    der Fehler liegt noch immer an der Stelle.

    wi noRiddle schon richtig gesagt hat, ist vermutlich $defaults kein Array.

    Es kommt aber noch besser:

    $defaults ist erst gar nicht definiert !!!!

    in der gesamten Funktion gibt es nur $default

    also die Zeile mal so ändern:

    Code: PHP  [Auswählen]
        if (in_array($values[$i]['id'], $default)) {

    Gruss Gerhard

    Lionne

    • Mitglied
    • Beiträge: 189
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #58 am: 10. April 2012, 13:02:40
    Hallo Gerhard,

    wenn ich das entsprechende Versandmodul bearbeiten will, kommt folgende Fehlermeldung:

    Code: PHP  [Auswählen]
    Fatal error: Call to undefined function xtc_output_string() in [...]/admin/includes/functions/html_output.php on line 314

    Die Funktion, wie sie im Moment aussieht:
    Zeile 16:
    Zitat
    &#38;#039;
    soll allerdings heißen
    Zitat
    &#039;
    Die #38 wird beim Verwenden der PHP-Quotes automatisch eingefügt

    Code: PHP  [Auswählen]
        function xtc_draw_pull_multiselect_menu($name, $values, $default, $parameters = '') {
        $field = '<select multiple name="' . xtc_output_string($name) . '"';
     
        if (xtc_not_null($parameters)) $field .= ' ' . $parameters;
     
        $field .= '>' . "\n";
     
        if (empty($default) && isset($GLOBALS[$name])) $default = stripslashes($GLOBALS[$name]);
     
        for ($i = 0, $n = sizeof($values); $i < $n; $i++) {
          $field .= '<option value="' . xtc_output_string($values[$i]['id']) . '"';
          if (in_array($values[$i]['id'], $default)) {
            $field .= ' SELECTED';
          }
     
          $field .= '>' . xtc_output_string($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
        }
        $field .= '</select>';
     
        return $field;
      }
     

    Viele Grüße
    Lionne

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: MODUL: Versandkosten nach Zonen UND Kategorien
    Antwort #59 am: 10. April 2012, 13:18:03
    Hi,

    die Funktion xtc_output_string gibt es nicht in modified eCommerce Shopsoftware.

    den ersten Aufruf kannst du entfernen und den 2ten Aufruf mit xtc_parse_input_field_data ersetzen.

    Gruss Gerhard
    1 Antworten
    2855 Aufrufe
    02. Februar 2011, 19:35:53 von Tomcraft
    4 Antworten
    4408 Aufrufe
    29. März 2011, 03:58:01 von kreativrocker
    4 Antworten
    4579 Aufrufe
    10. Februar 2011, 18:03:22 von SanPedro
    2 Antworten
    2561 Aufrufe
    20. Januar 2010, 20:58:59 von Elmar
               
    anything