Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 22, 2012, 21:44:22

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  SSP Bibliothek
| | | |-+  zuletzt angesehene Artikel anzeigen
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: zuletzt angesehene Artikel anzeigen  (Gelesen 3389 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: Oktober 09, 2007, 16:42:32 »

Hallo,

Aufgabe:
Die zuletzt angeschauten Artikel sollen angezeigt werden
(funktioniert ohne login und JS)

Lösung:
in HEADbereich der Detailseiten
Code:
<!--spmacro:module(Callback)
sub begin_read_template {
     if ($ssp::xxsession != 4711471147) {
           my $besuchteSeiten = ssp::cart_read_var('compseite');
                if ($besuchteSeiten eq $ssp::undefined) { $besuchteSeiten = ""; }
                     my $aktuelleSeite= ssp::get_var_article('itemid');
                if ($besuchteSeiten =~ m/$aktuelleSeite!_!/) {$alleSeiten = $besuchteSeiten}
                else { $alleSeiten = $aktuelleSeite . "!_!" . $besuchteSeiten; }

           ssp::cart_write_var('compseite', $alleSeiten);
    }
}
-->

Auf der (den) Seiten, wo die Artikel angezeigt werden soll(en) im BODYbereich
(kann auf allen Seiten, jeder beliebigen Seite oder auch auf einer extra Infoseite sein)
Code:
<!--spmacro:module(show)
sub artikel {
    my $Artikel = ssp::cart_read_var('compseite');
    my (@Liste) = split('!_!', $Artikel);
    my $str;
     foreach my $out(@Liste) {
        $str .= "$out,";
     }
     ssp::embedded("csearch","xyz.txt",$str . ":10000000");
}
-->

xyz.txt => beliebige txt Datei für die Anzeige (s. mini_cross.txt)

An der Stelle, wo die gesehenen Artikel anzeigen werden sollen __show::artikel__

(der entscheidende Tipp, wie ich das Script bauen kann, kam wieder von ahe - DANKE)

Nachtrag:
Wenn man nur eine bestimmte Anzahl - also z.B. die letzen 10 angeschauten Artikel ausgeben will, zusätzlich auf den Seiten auf denen die zuletzt gesehenen Artikel angezeigt werden im HEAD-Bereich diesen Code einfügen
Code:
<!--spmacro:module(Callback)
sub begin_read_template {
if ($ssp::xxsession != 4711471147) {
my $besuchteSeiten = ssp::cart_read_var('compseite');
my(@Liste) = split('!_!', $besuchteSeiten);
if ($#Liste >= 10) { $#Liste = 9; 
$besuchteSeiten = join('!_!', @Liste);   }
ssp::cart_write_var('compseite', $besuchteSeiten);
}
}
-->

Bei "if ($#Liste >= 10) { $#Liste = 9;" kann die Anzahl eingestellt werden.
(die 2. Zahl muß um 1 kleiner angegeben werden, da das erste Element 0 und nicht 1 ist)

ursprünglicher Code editiert
(doppelte Artikelnummern aus Liste entfernen war zu ungenau - jetzt wird auch zwischen 123_1 und 123_1_1 unterschieden)

ACHTUNG ! - funktioniert nicht auf statischen Seiten
« Letzte Änderung: Februar 28, 2009, 16:09:20 von hop » Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS