Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Thema gestartet von: dobra am September 25, 2009, 11:38:49

Titel: Alternative Zufallsartikel auf der Startseite
Beitrag von: dobra am September 25, 2009, 11:38:49
Hallo,

eine Alternative zu den Zufallsartikeln ist z.B. eine Bildergalerie
Testseite wie das ausschauen könnte (http://www.woll-insel.at/cgi-bin/WI-Downloadshop/iboshop.cgi?show0)
hier werden zufällige 12 Bilder in die Galerie geladen

Einbauanleitung:

1) die angehangene Datei ins Projektverzeichnis kopieren und entpacken.
2) Artikel die zur Auswahl stehen sollen (als Verknüpfung) auf die Startseite kopieren
    (kann natürlich auch auf anderen Seiten verwendet werden)
3) die Startseite muss im selben Verzeichnis wie die JS-Scripte liegen (also hier im Ordner "smoothgallery")
4) die Scripte auf der Startseite einbinden

vor dem </head>

<link rel="stylesheet" href="css/layout.css" type="text/css" media="screen" charset="utf-8" />
<link rel="stylesheet" href="css/jd.gallery.css" type="text/css" media="screen" charset="utf-8" />
<script src="scripts/mootools-1.2.1-core-yc.js" type="text/javascript"></script>
<script src="scripts/mootools-1.2-more.js" type="text/javascript"></script>
<script src="scripts/jd.gallery.js" type="text/javascript"></script>

<!--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 zoomimage {
my $images = ssp::get_var_article('ZOOM',$curIndex);
if (length($images)) {
main::mprint ("<img src=\"../$images\" class=\"full\">");
}
}

sub image {
my $images = ssp::get_var_article('iimage',$curIndex);
if (length($images)) {
main::mprint ("<img src=\"../$images\" class=\"thumbnail\">");
}
}
-->


im body-Bereich dort wo die Galerie angezeigt werden soll
<script type="text/javascript">
function startGallery() {
var myGallery = new gallery($('myGallery'), {
timed: true
});
}
window.addEvent('domready',startGallery);
</script>

<div class="content">
<div id="myGallery">
<!--spmacro:loopitem12-->__randomitem::randomize__
<div class="imageElement">
<h3>&nbsp;</h3>
<p>&nbsp;</p>
<a href="javascript:void(0)" title="__randomitem::produkt__" class="open"></a>
__randomitem::zoomimage__
__randomitem::image__
</div>
        <!--spmacro:enditem-->
</div>
</div>

wenn die großen Bilder nicht im ZOOM-Feld eingetragen sind, muss das angepasst werden

5) alle Dateien (außer der license.txt) im smoothgallery-Ordner in die Liste "Dateien hinzufügen" eintragen
6) noch ein Hinweis: die Bilder (im ZOOM-Feld) sollten alle 640x345px groß sein - bei anderen Massen das Script entsprechend angepasst
    (geht am einfachsten mit der Bildverarbeitung)

wer selber experimentieren möchte, kann das komplette Tool hier (http://smoothgallery.jondesign.net/download/) runterladen.
Es gibt viele verschiedene Konfigurationsmöglichkeiten und ist Freeware  8)