Wechselnder Artikelinhalt der Eingangsseite

Begonnen von emil, August 24, 2004, 20:12:34

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

emil

Hallo,

habe es neulich wo anderes gesehen:

Pro Besuch der Eingangsseite werden zwei andere Artikel gezeigt, auch beim Nachladen der Seite erfolgt ein Artikelwechsel.

Würde mir echt gefallen, weiß aber nicht, wie ich hier die Artikelreihenfolge manipulieren kann. SPE bringt immer die ersten beiden Artikel der Seite aus der Datenbank, was ja ansonsten auch korrekt ist.

Viele Grüße

Emil  

ahe

...
#1
Hallo emil,

die Lösung zu Ihrem Problem ist folgende:

Diesen SSP-Code in die betreffende Vorlage kopieren und einbauen.
<!--spmacro:module(randomitem)
%RANDITEMS = ();
$curIndex = -1;
srand();
sub randomize {
my $itemcount = $_[1];
my $ok = 0;
my $number = 0;
my $check = 0;
while (!$ok) {
if ($check > 200) { $curIndex = -1; return; }
$number = int(rand($itemcount+1));
$ok = !(defined $RANDITEMS{$number});
if ($ok) {
$RANDITEMS{$number} = 1;
$curIndex = $number;
}
$check = $check + 1;
}
}

sub produkt {
main::mprint(ssp::get_var_article("idescription", $curIndex));
}

sub ergaenz1 {
main::mprint(ssp::get_var_article("ergaenz1", $curIndex));
}

sub preis {
my $str = ssp::get_var_article("preis", $curIndex);
if (length($str)) { $str .= " €"; }
main::mprint($str);
}

sub detail {
my $pagenr = ssp::get_var_article("ipagenr", $curIndex);
my $itemid = ssp::get_var_article("itemid", $curIndex);
my $str = qq{<a href="__xxpath__?showd$pagenr!0,__xxsession__,$itemid">Details</a>
};
main::mprint($str);
}

sub id {
if (!ssp::get_var_article("preis", $curIndex)) { return; }
my $wkmin = ssp::get_var_article("WKMIN", $curIndex);
my $wkpack = ssp::get_var_article("WKPACK", $curIndex);
if (($wkmin eq 'undefined') || ($wkmin == " ")) { $wkmin = "1"; }
if (($wkpack eq 'undefined') || ($wkpack == " ")) { $wkpack = "1"; }
my $pagenr = ssp::get_var_article("ipagenr", $curIndex);
my $itemid = ssp::get_var_article("itemid", $curIndex);
my $item_count = $itemid . ":" . $wkpack;
my $str = qq{<a href="__xxpath__?placecart__xxpgid__,__xxsession__,$item_count">In Warenkorb</a>};
main::mprint($str);
}

sub simage {
my $imglink = "<img border=\"0\" src=\"";
$imglink .= ssp::get_var_article("iimage", $curIndex);
$imglink .= "\">";
my $pagenr = ssp::get_var_article("ipagenr", $curIndex);
my $itemid = ssp::get_var_article("itemid", $curIndex);
my $str = qq{<a href="__xxpath__?showd$pagenr!0,__xxsession__,$itemid">$imglink</a>};
main::mprint($str);
}
-->


Hinweise:
Voraussetzung ist, dass die gewünschten Artikel (idealerweise als Verknüpfung) auf der Startseite liegen.
Desweiteren sollten natürlich mehr Artikel dort eingetragen sein als man ausgeben möchten. Somit sind die Kombinationsmöglichkeiten viel grösser.
In der Routine wird selbstverständlich ausgeschlossen, dass ein Artikel mehrmals gleichzeitig dargestellt wird.
Im obigen Code sind exemplarisch einige der wichtigsten Identifier durch SSP-Funktionen ersetzt worden.
Weitere können analog davon abgeleitet werden.
Die ganze Funktionalität ist nicht auf die Startseite beschränkt, sondern kann auf jeder Seite benutzt werden für die Artikel(verknüpfungen) definiert sind.

Aufruf:
Die einzelnen Identifier werden wie die Standardidentifier aufgerufen. Hierbei ist nur zu beachten, dass bevor ein neuer Artikel ausgegeben wird, einmal der Identifier
__random::randomize__
aufgerufen werden muss, um den nächsten Artikel auszuwählen.

Beispiel:
Nachfolgend ein Beispiel um 2 Artikel auf einer Seite anzuzeigen.
<TABLE>
__randomitem::randomize__
<TR>
<TD rowspan="5">__randomitem::simage__</TD>
<TD colspan="2">Angebot </TD></TR>
<TR>
<TD colspan="2">__randomitem::produkt__</TD></TR>
<TR>
<TD colspan="2">__randomitem::ergaenz1__ </TD></TR>
<TR>
<TD colspan="2">__randomitem::preis__</TD></TR>
<TR>
<TD>__randomitem::detail__ </TD>
<TD>__randomitem::id__ </TD></TR>
__randomitem::randomize__
<TR>
<TD rowspan="5">__randomitem::simage__</TD>
<TD colspan="2">Angebot </TD></TR>
<TR>
<TD colspan="2">__randomitem::produkt__</TD></TR>
<TR>
<TD colspan="2">__randomitem::ergaenz1__ </TD></TR>
<TR>
<TD colspan="2">__randomitem::preis__</TD></TR>
<TR>
<TD>__randomitem::detail__ </TD>
<TD>__randomitem::id__ </TD></TR>
</TABLE>
MfG ahe

Joachim

#2
Hallo,

Nachdem ich mal wieder das Forum nach netten Codes durchwühlt habe,
ist mir hier dieser aufgefallen - und auch gleich umgesetzt worden.
Allerdings funktioniert es nicht mit statischen Seiten, erst wenn ich umschalte auf CGI (Warenkorb mal kurz öffnen)
dann gibts die Wechselbilder.
Ich habe einfach zu wenig Ahnung - eigentlich ist es irgendwie logisch, dass statisch eben statisch ist.
Aber andere Nettigkeiten wie das "vor" und "zurück" in Detailseiten (der SSP-Code liegt, glaube ich, in der SSP-Bibliothek) funktionieren ja auch.

Guckst Du hier:
http://www.barrique-shop.de/barrique_s/spanien.html
Umschalten CGI, dann gehts

Freue mich über Hilfe  :)
Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

ahe

Hallo,

Zitat von: Joachim am September 05, 2006, 19:51:04
eigentlich ist es irgendwie logisch, dass statisch eben statisch ist.
Genau das ist das Problem ;)

Zitat von: Joachim am September 05, 2006, 19:51:04
Aber andere Nettigkeiten wie das "vor" und "zurück" in Detailseiten (der SSP-Code liegt, glaube ich, in der SSP-Bibliothek) funktionieren ja auch.
Beim "vor" und "zurück" wird aber immer auf die gleichen Artikel verlinkt (von einer Detailseite aus gesehen).
Das ist ja dann quasi schon "statisch", weshalb es dann auch wunderbar mit statischen HTML-Seiten funktioniert.

Sorry, aber für wechselnde Artikel auf einer statischen Seite fällt mir keine Lösung ein.
MfG ahe

hop

#4
Hallo,

die dynamischen Links werden, wenn Sie korrekt geschrieben sind, mit dem SB immer in statische Links gewandelt (so. z.B. bei vor und zurück
in Detailseiten).

Bei den "wechselnden Artikeln" wird natürlich auch nur eine einzige Seite erzeugt, die zufällig ausgewählte Artikel anzeigt.
Wenn man aber den SB z.B. einmal täglich laufen läßt, ändert sich der Inhalt und der Kunde, der am nächsten Tag
wieder kommt, wird andere Artikel finden, was ja auch der Sinn der Sache ist.

Bei dem angeführten Beispiel
http://www.barrique-shop.de/barrique_s/spanien.html
stimmt was nicht, sowohl in statischer und dynamischer Ansicht werden einige SSP-Identifier nicht
ersetzt. 

Gruss hop

Sch?ne Gr??e hop

Joachim

Wir haben nun die Wawi so umgebaut, daß doppelte Artikel (mit gleicher Artikel-Nummer) existieren
die für die automatische Artikel-Verknüpfung herhalten müssen.
um sie als wechselndes Angebot auf bestimmten Seiten anzuzeigen.
Das funktioniert auch wunderbar.
Wir nutzen den beschriebenen Code - allerdings wird bei den Preisen ein Punkt, statt Komma angezeigt
und die letzte Stelle (2. nach Komma) fehlt. Es handelt sich offensichtlich immer um die Null.

Guckst Du hier:
http://www.barrique-shop.de/barrique_s/bordeaux.html

Ich habe zwar die benutzerdefinierten Felder anpassen können, aber für das Null- und Komma-Problem
fehlt mir das Wissen  ???

Beste Gr?sse aus Berlin

Joachim
www.barrique-shop.de
www.barrique.com (Typo3-CMS)
www.tapola-camphill.net (Typo3-CMS)

ahe

Hallo Joachim,

die Preisfunktion ist nicht ganz optimal implementiert 8)

Versuchen Sie mal folgendes
sub preis {
my $str = ssp::get_var_article("preis", $curIndex);
$str = main::fp($str);
main::mprint($str);
}


MfG ahe

dobra

#7
Hallo - habe mal wieder mein "altes" Problem mit dem Code:  der Link soll zur Artikelseite und nicht zur Detailseite gehen.

Zitatsub detail {
   my $pagenr = ssp::get_var_article("ipagenr", $curIndex);
   my $itemid = ssp::get_var_article("itemid", $curIndex);
   my $str = qq{<a href="__xxpath__?showd$pagenr!0,__xxsession__,$itemid">Details</a>
   };
   main::mprint($str);
}
Habe versucht, einfach das !0 hinter showd$pagenr wegzulassen  -  funktioniert aber nicht.

Es werden auch keine Bilder angezeigt - da habe ich wohl auch irgendwas falsch gemacht?
(habe zum testen einfach irgengwelche Artikel auf der Eingangsseite kopiert)

Bitte um Hilfe - ich schaffe es nicht alleine.

mfG
Woll-Insel
mfG
dobra

admin

Hallo,

showd ruft eine Detailseite auf.
Um eine Artikelseite aufzurufen muss man show benutzen.
Also
__xxpath__?show$pagenr,__xxsession__

Man kann die notwendigen Links immer ableiten, indem man
die URL einer Seite anschaut, so wie sie im Browser aufgerufen wird.

Jetzt gibt es hier aber ein besonderes Poblem. Da der Artikel auf der Startseite
steht, wird als Seitennummer $pagenr der Wert  0 zurückgegeben.
Es ist aber die Seitennummer der Originalartikels gesucht.
Die Seitennummer Originalartikels könnte man notfalls in
einem anderen Feld abspeichern.
Aber eigentlich wäre auch hier wieder ein Lösung mit Varianten besser,
wo man dann direkt auf die Detailsseite verlinken kann.

Gruss hop

dobra

Danke - Sie haben recht, ich komme mit
Zitat__xxpath__?show$pagenr,__xxsession__
immer wieder auf die Startseite.

Mit Varianten für die Farben habe ich es schon versucht, aber ich finde keine Lösung, daß man da die Farben direkt und vor allem in gewünschter Stückzahl bestellen kann.



Gerade diese Möglichkeit hat mich aber bei ShopPilot so fasziniert (hat meines Wissens nienand von der Konkurenz)

Wenn es nicht anders geht, verzichte ich da lieber auf die "wechsenden Artikel" als auf diese - für mich sehr wichtige - Bestellmöglichkeit.

mfG
Woll-Insel
mfG
dobra

dobra

#10
Sie haben - wie immer - natürlich recht, daß für viele Funktionen eine Variantenlösung besser wäre.

ZitatAber eigentlich wäre auch hier wieder ein Lösung mit Varianten besser,
wo man dann direkt auf die Detailsseite verlinken kann.

Vielleicht gibt es doch eine Möglichkeit mit Multiplacecart meine derzeitiges Shoplösung (jede Farbe ist eigener Artikel) auf Varianten umzustellen.

ZitatIn der Vorlage der Artikelseite werden diese Varianten über neue Identifier dargestellt:
__vanzkaufen__ Eingabefeld
__vpreis__ Preis der Variante
__vprodukt__ Beschreibungstext der Variante

Wenn ich das in der Doko richtig verstanden habe, müßte es gehen - allerdings fehlt mir dann unbedigt noch __vimage__

Gibt es eine Möglichkeit, wie ich Bilder (z.B. mit benutzerdefiniertem Feld) einfügen kann?
Habe es mit __BILD__ und dort eingetragen <IMG BORDER=0 SRC=" http://www.woll-insel.at/shop2/farbkarten/BW-Misch/Winter-Cotton/11 mais.jpg "> versucht - geht aber nicht - __BILD__ wird ignoriert

Idealerweise sollte es auch eine "automatische" Bildeinfügemöglichkeit - wie bei Artikeln - geben (das händische eintragen bei z.Z. ca 2.500 Artikelbildern wäre schon sehr aufwendig und fehleranfällig) und die Möglichkeit, auch neue Varianten mit "kopieren - einfügen" anzulegen.

mfG
Woll-Insel
mfG
dobra

admin

Versuchen Sie mal __vBILD__  :)

Gruss hop

dobra

Danke - das funktioniert  :)

Ich bekomme es auch so hin, daß für den Kunden optisch kein Unterschied ist.

Da steht mir jetzt aber sehr viel Arbeit (= schlaflose Nächte) bevor, bis ich alle Seiten umgebaut habe, (ist auch umständlicher neue Artikel so mit Varianten anzulegen) aber dafür bin ich dann etliche Probleme los.

mfG
Woll-Insel
mfG
dobra

dobra

#13
Zitateigentlich ist es irgendwie logisch, dass statisch eben statisch ist.
Genau das ist das Problem
ZitatSorry, aber für wechselnde Artikel auf einer statischen Seite fällt mir keine Lösung ein.

Hallo,

ich habe eine Möglichkeit gefunden
(testweise mal auf meiner statischen Eingangsseite eingebaut - http://www.woll-insel.at/Wolle_und_Garne/)

Ist allerdings etwas aufwendig und funktioniert NUR auf statischen Seiten,
aber wenn es jemand nachmachen will verrate ich, wie ich das gemacht habe  ;)
-> http://www.shoppilot.net/pf/shoppilot_enterprise/dynamisch_wechselnde_artikelanzeige_auf_statischen_seiten-t967.0.html
mfG
dobra