Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Ajax Beispielanwendungen => Thema gestartet von: dobra am Januar 15, 2010, 20:53:35

Titel: zufällig wechselnde Artikel mit ajax (auch auf statischen Seiten)
Beitrag von: dobra am Januar 15, 2010, 20:53:35
Hallo,

das "wechselnder Artikelinhalt der Eingangsseite" mit __random::randomize__  ist ja eine serverseitige Anwendung und funktioniert daher nicht auf statischen Seiten.

Mit Ajax funktioniert's auch auf den statischen  :)
kann auf der Startseite oder auch jeder anderen Seite verwendet werden.
Beispiel: http://www.shoppilot.at/Demo_Funktions-Shop/ (http://www.shoppilot.at/Demo_Funktions-Shop/)

so geht's:
(der"ajax" Ordner muß im Shop Projekt vorhanden sein - s.
http://www.shoppilot.net/pf/index.php?topic=1371.msg4860#msg4860 (http://www.shoppilot.net/pf/index.php?topic=1371.msg4860#msg4860))

  • den angehangenen Ordner entpacken und die 3 Dateien (ajax_random.html, ajax_random.ipl und ajax_random.js) in den ajax-Ordner kopieren

  • ajax_random.ipl und ajax_random.js in die "Dateien hinzufügen" Liste eintragen

  • Im WC eine neue Infoseite anlegen
Titel: beliebig
Vorlage: hier ajax_random.html eintragen
(http://www.woll-insel.at/Bilder/SP-Forum/zufall/screen1.jpg)
(Seitennummer wird später benötigt)

  • Die Artikel die zur zufälligen Anzeige zur Auswahl stehen sollen als Verknüpfung auf eine beliebigen Seite*)   (Infoseite) kopieren.
(beliebig viele - es sollten aber mindestens doppelt so viele sein, wie angezeigt werden sollen)

  • Eintäge in der HTML-Vorlage (wo die zufälligen Artikel angezeigt werden sollen):

im head-Bereich:
<script type="text/javascript">
 // Server-URL für die Ajax-Abfragen
 var myinterfacerandom = "__xxpath__?ajax1200001270,__xxsession__"; ###1200001270 -> hier die Seitennummer der neuen Infoseite eintragen
</script>

<script type="text/javascript" src="../ajax/ajax_random.js"></script>

wenn ajaxsearch nicht installiert ist zusätzlich noch
<script type="text/javascript" src="../ajax/json.js"></script>
<script type="text/javascript" src="../ajax/http/Request.js"></script>

im body-tag:
<body onload="myrandom('1200001270');">  ### 1200001270 = die Seitennummer*)  auf der die Artikel zur Auswahl liegen

an der Stelle, an der die zufälligen Artikel ausgegeben werden sollen
<div id="random1">&nbsp;</div>

soll für die Besucher, die JS deaktivier haben, die "alte" randomize Anzeige ausgegeben werden, kann man hier noch
<noscript>
   __randomitem::randomize__ __randomitem::test__
   __randomitem::randomize__ __randomitem::test__
   ...
       (= Beispiel -> was hier steht, wird Besuchern angezeigt, die ohne JS unterwegs sind)
</noscript>
einfügen.

dazu die Datei mit beliebigem HTML-Editor öffnen

my $anzahl = 7;
hier wird die Anzahl der Artikel die angezeigt werden sollen eingetragen

HTML Ausgabe anpassen
alles was zwischen
qq|    und  |;
steht, ist normaler HTML-Code und kann beliebig angepasst werden.

   $result{_random1} .= qq|
         <div class="randombox" style="float:left; margin: 10px;">
            <div class="header"> $produkt_short </div>
            <div class="randomcontent">
               $imglink  
               ...
            </div>
         </div>
         |;