Hallo,
Ich habe mein "Seite einem Freund empfehlen" von JS auf ssp umgestellt
<!--spmacro:module(seite)
sub senden {
my $title;
my %pageinfo = ssp::getCurrentPageInfo();
if ($pageinfo{pagetype} == 3) {
my $itemid = ssp::get_var_article("itemid", 0);
my $seiteurl = qq|$ssp::xxpath?showd$ssp::pgid!,$main::ppage,$itemid|;
$title = ssp::get_var_article(ARTIKEL);
$title =~ s/ä/%E4/g;
$title =~ s/ö/%F6/g;
$title =~ s/ü/%FC/g;
$title =~ s/Ä/%C4/g;
$title =~ s/Ö/%D6/g;
$title =~ s/Ü/%DC/g;
$title =~ s/ß/%DF/g;
my $text = qq| Hallo%0D%0A%0D%0ASchau Dir doch diese Seite im Woll-Insel online-shop einmal an!
%0D%0A%0D%0ADie Seite hei%DFt: $title
%0D%0AHier ist die Adresse: $seiteurl
%0D%0A%0D%0AIch dachte, das k%F6nnte Dich auch interessieren.
%0D%0A%0D%0A mit freundlichen Gr%FC%DFen|;
main::mprint "<a href=\"mailto:?subject= interssante Strick- und H%E4kelseite: $title&body=$text\">Seite empfehlen</a>";
}
else {
my $seiteurl = qq|$ssp::xxpath?show$ssp::pgid|;
my $pagenr = $ssp::pgid;
$title = ssp::get_var_page("ptitle",$pagenr);
$title =~ s/ä/%E4/g;
$title =~ s/ö/%F6/g;
$title =~ s/ü/%FC/g;
$title =~ s/Ä/%C4/g;
$title =~ s/Ö/%D6/g;
$title =~ s/Ü/%DC/g;
$title =~ s/ß/%DF/g;
my $text = qq| Hallo%0D%0A%0D%0ASchau Dir doch diese Seite im Woll-Insel online-shop einmal an!
%0D%0A%0D%0ADie Seite hei%DFt: $title
%0D%0AHier ist die Adresse: $seiteurl
%0D%0A%0D%0AIch dachte, das k%F6nnte Dich auch interessieren.
%0D%0A%0D%0A mit freundlichen Gr%FC%DFen|;
main::mprint "<a href=\"mailto:?subject= interssante Strick- und H%E4kelseite: $title&body=$text\">Seite empfehlen</a>";
}
}
-->
Funktioniert auf
allen Seiten.
Damit Umlaute im "$text" und "subject=" richtig dargestellt werden, müssen sie in Hexadezimal codierte ANSI-Sonderzeichen geschrieben werden.
Die Umlaute im Seitentitel im WC müssen "maskiert" (also ä = ä usw) eingetragen sein.
Die Umlaute in der Variablen $titel werden dann mit $title =~ s/ä/%E4/g; ... automatisch richtig codiert und korrekt als "ä" usw ausgegeben.
(getestet mit FF und IE)
Nachtrag:Habe vergessen zu erwähnen, daß bei Detailseiten (oberer Codeteil)
my $title = ssp::get_var_article(
ARTIKEL);
ARTIKEL mein benutzerdeffiniertes Feld für die Artikelnamen ist.
Wenn so ein Feld nicht vorhanden ist und man auch keines anlegen will, kann man auch
my $title = ssp::get_var_article(itemid); (für die Artikelnummer) oder
my $title = ssp::get_var_article(idescription); (für den Beschreibungstext) verwenden.
Linkback: https://www.shoppilot.net/pf/index.php?topic=1007.0