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: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Hallo zusammen,

    ich brauche bitte eure Hilfe, da ich allein nicht weiterkomme.

    Nach dem Update auf v2.0.0.0 rev 9678 und Update des Templates Rainbow wird ein falscher Link erzeugt, wenn ich mich aus der Artikelansicht z.B. registrieren will. es wird der Kategorie-Pfad im Link angegeben und das erzeugt einen Fehler wenn ich im oberen Menu auf "Registrieren" klicke.

    siehe hier:
    https://www.elisa24.de/shop/Versandtaschen/CP-010-aus-Wellpappe/ColomPac-CP-010-04-Wellpappversandtasche-braun-100-Stueck::11853.html

    Wichtig: wenn ich suchmaschinenfreundliche URL abschalte, dann gibt es keinen Fehler !

    Gruss
    Helmut

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

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    So sieht das im Original aus: (Was eher besch.... ist, da nach Klick möglicherweise die Session weg ist und der Warenkorb somit auch)
    menu-main.html
    Code: XML  [Auswählen]
            {elseif $customerId==false}
                <li>
                    <a href="create_account.php">{#register#}</a>
                </li>
            {/if}
     
    xtc_href_link() wird gebraucht um Sessionverlust zu vermeiden, wenn die modSID angehängt ist. Ich vermute das ist da jetzt eingebaut. Also irgendwie so:
    Code: XML  [Auswählen]
            {elseif $customerId==false}
                <li>
                    <a href="<?php echo xtc_href_link('create_account.php'); ?>">{#register#}</a>
                </li>
            {/if}
     

    Das Problem ist, die Funktion nimmt ALLE GET Parameter mit. Man müsste hier den für die Kategorie erst leeren.... was aber auch wieder Murks wäre ...... das wäre nur ein Würgaround ....

    Da das nur bei SEO URL auftritt, ist der Fehler eher in dieser Funktion zu suchen, die die SEO URLs baut.
    In der Datei /inc/shopstat_functions.inc.php vermute ich den Fehler.

    Wenn Du Dir ABSOLUT sicher bist, dass NUR dieser eine Link auf die Fresse fliegt, dann könnte man das so umbauen: (Auch wieder nur ein Workaround, habe keine Zeit die eigentliche Ursache zu debuggen.)
    Original:
    Code: PHP  [Auswählen]
      //-- Nur bei der index.php und product_info.php
      if ($page != 'index.php' && $page != 'product_info.php' && $page != 'shop_content.php') {
        $go = false;
      } elseif ($sort != '') {
     
    Würgaround:
    Code: PHP  [Auswählen]
      // Workaround for create_account.php
      if ($page == 'create_account.php') $cPath = $prodid = false;
      //-- Nur bei der index.php und product_info.php
      if ($page != 'index.php' && $page != 'product_info.php' && $page != 'shop_content.php') {
        $go = false;
      } elseif ($sort != '') {
     

    Ich vermute (ohne die Funktionen genauer zu kennen), dass wenn an der Stelle die prodid und der cPath auf false gesetzt werden, dass der Rest der Funktion dann das richtige tut.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Nachtrag
    Achtung! Es ist nicht der einzige Link! Passwort vergessen geht normal, aber Anmelden auch nicht!
    Also vergiss den Workaround .... hier hilft nur die eigentliche Ursache des Problems zu finden.

    Prüfe mal ob Deine /inc/shopstat_functions.inc.php wirklich aus der ref 9678 ist.

    karsta.de

    • Experte
    • Beiträge: 3.157
    @Bonsai, du kennst dich mit diesem Template sicher besser aus, da du es selbst ja verwendest. Doch @helmut_sommer hat es schon auf V2 upgedatet und wenn er smarty3 verwendet, dann sollte er denke ich besser statt:
    Code: PHP  [Auswählen]
    <a href="<?php echo xtc_href_link('create_account.php'); ?>">{#register#}</a>
    das verwenden:
    Code: PHP  [Auswählen]
    <a href="{$smarty.const.FILENAME_CREATE_ACCOUNT|xtc_href_link}">{#register#}</a>

    um keine weiße Seite zu bekommen.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Stimmt .... ich vergesse immer Smarty v3 :datz: Muss mir echt mal die Zeit nehmen dafür eine 2.0 Installation umzubauen.

    Es war auch nur eine Vermutung, dass xtc_href_link im Einsatz ist. Im Original fehlt das bei dem Template ....  :-!

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Vielen Dank euch beiden erst mal für die schnelle Reaktion.

    Ich habe in der "menu-main.html" das:
    Code: PHP  [Auswählen]
    <a href="create_account.php">{#register#}</a>

    geändert in:
    Code: PHP  [Auswählen]
    <a href="{$smarty.const.FILENAME_CREATE_ACCOUNT|xtc_href_link}">{#register#}</a>

    Nun scheint der Klick auf "Registrieren" und auf "Anmelden" zu funktionieren.

    Aber da sind im "angemeldeten" Zustand noch sooooooooo viele andere Links die nicht funktionieren !

    @kgd: ich habe nicht smarty3 weil ich sonst eine weisse seite bekomme
    das ist aus meiner config.php aus dem template:
    Code: PHP  [Auswählen]
    define('TEMPLATE_ENGINE', 'smarty_2'); // smarty_3 or smarty_2
      define('TEMPLATE_HTML_ENGINE', 'html5'); // html5 or xhtml
      define('TEMPLATE_RESPONSIVE', 'true'); // true or false
      define('DIR_WS_BASE', xtc_href_link('', '', $request_type, false, false));

    @bonsai: Ja es ist die /inc/shopstat_functions.inc.php wirklich aus der ref 9678

    Habe mal eben zum Testen die Bewertungsfunktion für Gäste aktiviert - aber auch da gibt es nur Fehler  :oops:

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    OK, keine Ahnung wo der Fehler herkommt, aber da das umbauen der Links hilft und den Nebeneffekt hat, dass es keine Sessionverluste mehr gibt, empfehle ich alle Links so umzubauen. Achte darauf, das ist immer doppelt in der Menü Datei! Das war jetzt nur das Browser Menü. Das für das Smartphone ist unten in der gleichen Datei!

    Und nimm die kdg Variante! Für späteren Umbau auf Smarty v3 müsstet Du noch den vielen php code in den html Dateien auslagern oder so umbauen wie kdg das hier umgebaut hat. Die weiße Seite kommt von dem gedöns hier:
    Code: XML  [Auswählen]
    {*********************************************************
    Check if a fullsize page or a normal page should be shown
    **********************************************************}
    {php}
    $fullSizePages = array('shopping_cart','checkout','login','wish_list');
    $noBreadcrumbPages = array('index', 'shopping_cart','checkout','wish_list');
    $this->assign('fullSizePages',$fullSizePages);
    $this->assign('noBreadcrumbPages',$noBreadcrumbPages);
    {/php}
     

    Man findet so was öfter in dem Template ....

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    @bonsai

    Habe nun die Links auch für Mobile geändert, wie du es empfohlen hast. Danke nochmal  :thx:

    Bei einem Link habe ich allerdings Probleme, den selbst zu ändern. Es ist der für die Bewertung:

    Code: PHP  [Auswählen]
    href="product_reviews_write.php?products_id={$PRODUCTS_ID}">{#write_review#}</a>

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    vermutlich so: (kenne smarty v3 kaum)

    Code: XML  [Auswählen]
    href="{xtc_href_link|product_reviews_write.php|'products_id='$PRODUCTS_ID}">{#write_review#}</a>

    web0null

    • Experte
    • Beiträge: 1.998
    Nee so:
    Code: PHP  [Auswählen]
    <a href="{$smarty.const.FILENAME_PRODUCT_REVIEWS_WRITE|xtc_href_link:'products_id='}{$PRODUCTS_ID}">{#write_review#}</a>

    Code: PHP  [Auswählen]
    {param1|function_name:param2:param3:...}

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht
    Antwort #10 am: 28. Oktober 2016, 17:17:07
    Warum findet man mit Google keine Doku zu "PHP Funktionen in Smarty 3"? Hat jemand so was für meine Bookmarks?

    jumpM

    • Fördermitglied
    • Beiträge: 697
    • Geschlecht:
    Re: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht
    Antwort #11 am: 28. Oktober 2016, 17:18:32
    Hi Bonsai,

    Meinst Du sowas?? http://www.smarty.net/docs/en/

    Robert

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht
    Antwort #12 am: 28. Oktober 2016, 17:33:19
    Vermutlich steht es in dem Irrgarten drin .... ja aber wo?!?

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

    Die Deppen ..... ändern das Verhalten von php Funktionen die in smarty Dateien aufgerufen werden und beim Suchen nach "php" spuckt die Doku Null Treffer aus!  :-!

    Ich will eigentlich nur verstehen warum hier das Format gebraucht wird:
    Code: XML  [Auswählen]
    {param1|function_name:param2:param3:...}
    Wo ist das dokumentiert?

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Re: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht
    Antwort #13 am: 29. Oktober 2016, 17:27:36
    Nee so:
    Code: PHP  [Auswählen]
    <a href="{$smarty.const.FILENAME_PRODUCT_REVIEWS_WRITE|xtc_href_link:'products_id='}{$PRODUCTS_ID}">{#write_review#}</a>

    Code: PHP  [Auswählen]
    {param1|function_name:param2:param3:...}

     :thx:

    Es hat funktioniert !

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Wolkenkraft Rainbow Link wird falsch erzeugt aus Produktansicht
    Antwort #14 am: 29. Oktober 2016, 23:14:33
    Hallo Helmut,

    auch wenn folgender Code, wie du schreibst funktioniert,

    Code: XML  [Auswählen]
    <a href="{$smarty.const.FILENAME_PRODUCT_REVIEWS_WRITE|xtc_href_link:'products_id='}{$PRODUCTS_ID}">{#write_review#}</a>

    empfehle ich dir statt dessen diesen Code zu verwenden.

    Code: XML  [Auswählen]
    <a href="{$smarty.const.FILENAME_PRODUCT_REVIEWS_WRITE|xtc_href_link:"products_id=`$PRODUCTS_ID`"}">{#write_review#}</a>

    Der Grund ist folgender, wenn ein Kunde in seinem Browser Cookies für deinen Shop deaktiviert hat wird die MODsid an die URL angehängt, dies geschieht aber beim ersten Code in falscher Weise, so dass der Kunde seinen Session verliert, wenn er auf den Link klickt und ausserdem funktioniert der Link in diesem Fall auch nicht.

    Gruss
    Hanspeter
    44 Antworten
    13355 Aufrufe
    11. November 2023, 15:18:05 von helle2007
    8 Antworten
    5615 Aufrufe
    02. November 2016, 09:29:53 von Bonsai
    11 Antworten
    4797 Aufrufe
    03. Januar 2016, 11:16:32 von vocke
               
    anything