Artikelseite und WK

Begonnen von jg, November 09, 2006, 11:31:07

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

jg

Hallo,

ich habe im WC eingestellt, dass der Warenkorb NICHT angezeigt wird,
wenn ein Artikel in den WK gelegt wird.
Befinde ich mich jetzt auf einer Artikelseite ganz unten und klicke
einen Artikel in den Warenkorb, springt die Seite danach immer
wieder nach oben, also an den Anfang. Ich möchte aber,
dass die Seite bei dem Artikel stehen bleibt, den ich gerade in den
WK gelegt habe. So muss man den Artikel wieder neu suchen,
den man gerade hatte.
Bei Produktseiten mit je 10-15 Artikeln kann das ganz schön nerven,
wenn man versucht systematisch von Artikel zu Artikel zu gehen...
(getestet mit IE6 und Firefox)

Gibt es dafür evtl. eine Lösung?

jg
--
www.schmuckzone.de

cru

#1
Hallo jg,

folgende Lösung würde ich Ihnen vorschlagen:

Sie fügen in die Vorlage Ihrer Artikelseiten folgendes Modul ein:
   

<!--spmacro:module(Callback)
    sub js_placecart_insertion {

         my $js = qq[

         fullpath += "#" +article
         ];

         return $js;
    }
-->


Die Zeile "fullpath+= "#" + article" wird so zur inwk Funktion hinzugefügt.

So wird an die im Formular als action angegebene Url "#'Artikelnummer'" angehangen.

Mit dieser Technik kann man innerhalb einer Seite auf "Anker" verweisen.

Diese müssen Sie dann schließlich im loopitem-Bereich folgendermaßen setzen:

<a name="__artnr__"></a>

Wird nun ein Artikel in den Warenkorb gelegt, wird die Seite neu aufgebaut und die Ansicht springt sofort zum aktuellen "Anker".
Der aktuelle "Anker" bzw. Artikel wird als Erster auf der neu aufgebauten Seite angezeigt.

Sollten Sie __artnr__ in Ihrer Vorlage schon verwendet haben, muss der Anker folgendermaßen gebildet werden:

Als erstes müssen Sie über ein 2. Modul die Artikelnummer auslesen und das HTML-Tag bilden:


<!--spmacro:module(articlenr)
     sub readartnr {
       
              my $index = $_[0];
              my $artnr = ssp::get_var_article('itemid', $index);

              main::mprint qq| <a name="$artnr"></a> |;
      }
-->


Die Ausgabe erfolgt dann per __articlenr::readartnr__

mfg
cru


jg

Danke für schnelle Antwort.
Habe es mit id="artnr" umgesetzt und zum Bildlink hinzugefügt.
Man will ja nicht altmodisch erscheinen...  ;)

Was ich allerdings nicht verstehe ist die lange Zahl vor der Nummer ganz hinten:
...placecart12020!0,43973478512345,90633:1,0,1163082554828#90633
Wir da eine zweite Session-ID eingefügt?

jg
--
www.schmuckzone.de

cru

Hallo jg,

dass ist ein Timestamp, keine Session ID ;)

Der war auch vorher schon da.

mfg
cru