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: Shop springt bei Umstellung der Währung immer auf die Startseite (v2.0.5.0)

    Jossi

    • Fördermitglied
    • Beiträge: 140
    Hallo,

    Wenn immer ich auf einer Kategorie- oder Produktseite die Währung ändere, springt der Shop auf die Startseite.

    Wie kann man das unterbinden, sodass die Währung geändert wird, man aber auf der jeweiligen Seite bleibt? (Ist ja sicherlich nicht so gewollt.)

    Einstellung im Backend:
    Auf die Landeswährung automatisch umstellen = NEIN

    Dieser Bug scheint unabhängig vom Template zu sein, ich benutze aber Bootstrap4.

    Verwendete Module:
    - SEO-Images (von Timo Paul)

    https://www.onlineshopasia.com

    Gruß, Jossi

    Linkback: https://www.modified-shop.org/forum/index.php?topic=40892.0

    Andre Kern

    • Fördermitglied
    • Beiträge: 426
    Hallo,

    kann ich auf Deiner Seite nicht reproduzieren. Wenn ich die Sprache im Produkt umstelle, bleibe ich auch auf der Seite. Nur bei Deinen Länderflaggen ist ein bisschen Chaos. Da liegen jeweils beide übereinander.

    LG
    Andre

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.186
    • Geschlecht:
    Hast du den Cache aktiviert? Stell den mal aus und teste dann erneut. Ich kann das mit aktiviertem Cache nachvollziehen bei uns im DEV Demoshop und habe dafür Ticket #1777 angelegt.

    Grüße

    Torsten

    Jossi

    • Fördermitglied
    • Beiträge: 140
    @ApK
    Sprachumstellung funktioniert, nur bei Währungsumstellung gibt es das besagte Problem. Die Flaggen sind von mir so angelegt, damit man sieht, welche von 2 möglichen Sprachen ausgewählt ist. Muss ich eventuell noch mal verbessern, wenn es so verwirrend aussieht.

    @Tomcraft
    Cache ist ausgeschaltet (habe ihn trotzdem auch geleert), aber das Problem bleibt bestehen.

    Dann werde ich mal verfolgen, was sich bei Ticket #1777 in den nächsten Tagen ergibt.
    Danke!

    Andre Kern

    • Fördermitglied
    • Beiträge: 426
    Hab's auch gerade gesehen^^ Zu schnell gelesen. :whistle:

    LG
    Andre

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.186
    • Geschlecht:
    [...]
    @Tomcraft
    Cache ist ausgeschaltet (habe ihn trotzdem auch geleert), aber das Problem bleibt bestehen.
    [...]

    Auch mit unserem Standard-Template? In unseren Demoshops kann ich das Problem wirklich nur bei eingeschaltetem Cache nachvollziehen. :nixweiss:

    Grüße

    Torsten

    Jossi

    • Fördermitglied
    • Beiträge: 140
    Ja Tomcraft, bei allen 4 mir zur Verfügung stehenden Templates (xtc5, tpl_midified, tpl_modified_responsive und bootstrap4) springt der Shop auf die Startseite, wenn die Währung geändert wird.

    Danach kann man zwar mit geänderter Währung auf alle weiteren Seiten zugreifen, aber eben nicht auf einer der anderen Seiten die Währung umstellen, ohne auf die Startseite geschickt zu werden. Für jemanden, der z.B. durch die Google-Suche direkt auf einer Unterseite landet, und dort die Währung ändert, ist das sehr nervig, da er diese Seite oder das Produkt dann erst neu suchen muss.

    Und wie gesagt in "Cache Optionen": Cache benutzen = NEIN

    Andre Kern

    • Fördermitglied
    • Beiträge: 426
    Hallo,

    hast Du das auch evtl. mal in verschiedenen Browsern getestet?

    LG
    Andre

    Jossi

    • Fördermitglied
    • Beiträge: 140
    Linux: Firefox, Chromium, Arora
    Windows: Firefox, Comodo, Chrome

    Überall das selbe!

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.186
    • Geschlecht:
    Der Fehler wurde korrigiert und die Korrektur im Ticket angehängt.

    Grüße

    Torsten

    Jossi

    • Fördermitglied
    • Beiträge: 140
    OK super, das funktioniert!

    Also in
    template/MEIN Template/source/boxes/currencies.php

    folgende Zeilen

    Code: PHP  [Auswählen]
      if (count($currencies_array) > 1 ) {
        $box_content = xtc_draw_form('currencies', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('currency', 'language')), $request_type, false), 'get', 'class="box-currencies"')
                       . xtc_draw_pull_down_menu('currency', $currencies_array, $_SESSION['currency'], 'class="form-control form-control-sm" onchange="this.form.submit();"')
                       . xtc_hide_session_id()
                       . '</form>';

    mit diesen Zeilen

    Code: PHP  [Auswählen]
      if (count($currencies_array) > 1 ) {
        $box_content = xtc_draw_form('currencies', xtc_href_link(basename($PHP_SELF), '', $request_type, false), 'get', 'class="box-currencies"')
                       . xtc_draw_pull_down_menu('currency', $currencies_array, $_SESSION['currency'], 'onchange="this.form.submit();"')
                       . xtc_hide_session_id();
       
        parse_str(xtc_get_all_get_params(array('currency', 'language')), $params_array);
        if (is_array($params_array) && count($params_array) > 0) {
          foreach ($params_array as $k => $v) {
            $box_content .= xtc_draw_hidden_field($k, $v);
          }
        }
           
        $box_content .= '</form>';

    ersetzen.

    1000 Dank, Gruß,
    Jossi

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.186
    • Geschlecht:

    Jossi

    • Fördermitglied
    • Beiträge: 140
    Richtig, habe 1 Zeile übersehen (hat bei mir dennoch funktioniert).

    Also dann nochmal ganz hübsch entsprechend Tomcafts Link:
    Die folgende Datei wie folgt bearbeiten:

     /templates/TEMPLATENAME/source/boxes/currencies.php

    Suche:

    Code: PHP  [Auswählen]
    // set cache id
    $cache_id = md5($_SESSION['currency'].$_SESSION['language'] . $_SESSION['currency']);

    Ersetze mit:

    Code: PHP  [Auswählen]
    // set cache id
    $cache_id = md5(basename($PHP_SELF).$_SESSION['currency'].$_SESSION['language'].xtc_get_all_get_params(array('currency', 'language')));

    Suche:

    Code: PHP  [Auswählen]
      // dont show box if there's only 1 currency
      if (count($currencies_array) > 1 ) {
        $box_content = xtc_draw_form('currencies', xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('currency', 'language')), $request_type, false), 'get', 'class="box-currencies"')
                       . xtc_draw_pull_down_menu('currency', $currencies_array, $_SESSION['currency'], 'onchange="this.form.submit();"')
                       . xtc_hide_session_id()
                       . '</form>';

        $box_smarty->assign('BOX_CONTENT', $box_content);
      }

    Ersetze mit:

    Code: PHP  [Auswählen]
      // dont show box if there's only 1 currency
      if (count($currencies_array) > 1 ) {
        $box_content = xtc_draw_form('currencies', xtc_href_link(basename($PHP_SELF), '', $request_type, false), 'get', 'class="box-currencies"')
                       . xtc_draw_pull_down_menu('currency', $currencies_array, $_SESSION['currency'], 'onchange="this.form.submit();"')
                       . xtc_hide_session_id();
       
        parse_str(xtc_get_all_get_params(array('currency', 'language')), $params_array);
        if (is_array($params_array) && count($params_array) > 0) {
          foreach ($params_array as $k => $v) {
            $box_content .= xtc_draw_hidden_field($k, $v);
          }
        }
           
        $box_content .= '</form>';

        $box_smarty->assign('BOX_CONTENT', $box_content);
      }

    Danke und Gruß,
    Jossi

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.186
    • Geschlecht:
    Genau so passt es. :thumbs:

    Grüße

    Torsten
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
    14 Antworten
    7111 Aufrufe
    31. März 2012, 01:17:17 von fishnet
    3 Antworten
    1482 Aufrufe
    08. August 2017, 16:56:16 von Tomcraft
    2 Antworten
    2715 Aufrufe
    11. Februar 2014, 10:21:56 von rjung