IBO - Vertriebspartner in Österreich             
ShopPilot.at
zurück Home     ShopPilot.at Tutorials Scripte für diverse Aufgaben Seite empfehlen Seite drucken    teilen
Tipps - Tricks - Lösungen

Thema: zuletzt angesehene Artikel anzeigen
Autor: dobra

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

Lösung:
Code in HEADbereich der Detailseiten:

<!--spmacro:module(Callback) 
sub begin_read_template {
     if ($ssp::xxsession != 0) {
           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)
<!--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__

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
<!--spmacro:module(Callback) 
sub begin_read_template {
     if ($ssp::xxsession != 0) {
		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) if


Wenn Sie fragen zum Artikel haben, bitte im Support-Forum stellen.