Vorschau der bestellten Positionen in Auftragshistorie

Begonnen von dobra, Januar 31, 2010, 21:59:37

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

Hallo,

kleine Spielerei mit css  ;)

Im Kundenkonto -> Auftragshistorie werden bei zeigen mit der Maus auf die Positionszahl die bestellen Artikel in einem Infofenster angezeigt



Demo: http://www.shoppilot.at/Demo_Funktions-Shop/
einloggen mit gast/gast -> Bestellhistorie

Position und Style der Infobox kann natürlich beliebig angepasst werden.
Funktioniert bei Artikeln und Varianten!
Wenn für Varianten eigene Bilder hinterlegt sind, können diese natürlich auch im Vorschaufenster angezeigt werden
(Ergänzung in der SQL-Abfrage - im Beispiel nicht eingetragen, da ein Variantenbild in einem ben.def. Feld liegt)

Code in order_identifier.ipl (im Kundenkonto-Ordner -> inc)
sub vorschau {
my $index = $_[0];
my $poss = ssp::get_var_db("POSITIONS",$index);
my $ordernr = ssp::get_var_db("ORDERNR",$index);

main::mprint "<table>";
my $OITEMS = ssp::db_get_prefix() . "OITEMS";
my $SITM = ssp::db_get_prefix() . "SITM";
my $ITEM = ssp::db_get_prefix() . "ITEM";
my $read = ssp::readSQLData(qq|SELECT ITEMID FROM $OITEMS WHERE ORDERNR = $ordernr |, "ITEMID");

my $i=0;
while ($read > $i) {
$id = ssp::get_var_db("ITEMID",$i);
++$i;

my $count = ssp::readSQLData("SELECT MITEMID, DESCR FROM $SITM WHERE ITEMID ='$id'","MITEMID","DESCR");
if ($count >= 0) {
my $i=0;
while ($count > $i) {
$arikelid = ssp::get_var_db("MITEMID",$i);
$desc = ssp::get_var_db("DESCR",$i);
++$i;

main::mprint qq|<tr><td>&nbsp;</td><td> &nbsp;$arikelid </td><td> &nbsp;$desc</td></tr>|;

}
}

my $count2 = ssp::readSQLData("SELECT ITEMID, DESCR, IMG FROM $ITEM WHERE ITEMID ='$id' && XISLINK = 0 ","ITEMID2","DESCR2","IMG2");
if ($count2 >= 0) {
my $j=0;
while ($count2 > $j) {
$arikelid2 = ssp::get_var_db("ITEMID2",$j);
$desc2 = ssp::get_var_db("DESCR2",$j);
$img2 = ssp::get_var_db("IMG2",$j);
$img2 = qq|<img style="max-width: 27px; max-height: 20px; border:none" src="../$img2">|;
++$j;

main::mprint qq|<tr><td align="center">&nbsp;$img2</td><td nowrap> &nbsp;$arikelid2 </td><td style="padding-left:5px;">$desc2</td></tr>|;

}
}
}
main::mprint "</table>";
}

als zusätzliches sub eintragen

das vorhandene sub positions mit diesem ersetzen
sub positions {
my $index = $_[0];
my $poss = ssp::get_var_db("POSITIONS",$index);
  main::mprint qq|<a class="tooltip" href="javascript:void(0)">$poss <span><p>&nbsp;bestellte Artikel</p>__order::vorschau__</span></a>  |;
}


Code in der css-Datei
a.tooltip, a.tooltip:link, a.tooltip:visited, a.tooltip:active  {
 position: relative;
 text-decoration: none;
 font-style: italic;
 color: #0000ff;
 }
 
a.tooltip:hover {
 color: #0000ff;
 background: transparent;
 }

a.tooltip span {
 display: none;  
 text-decoration: none;
}

a.tooltip:hover span {
 display: block;
 position: absolute;
 top: -20px;
 left: 30px;
 width: 250px;
 z-index: 100;
 color: #000000;
 border:1px solid #000000;
 background: #FFFFFF;
 font: 10px Verdana, sans-serif;
 text-align: left;
 overflow: hidden;
 }
 
a.tooltip span p {
 display: block;
 margin: 0;
 padding: 0;
 font-size: 13px;
 font-weigth: bold;
 color: #FFA302;
 background-color: gray;
 border: 0px;
 border-bottom: 1px solid black;
}


hier können dann die eigenen Formatierungen (Farbe, Größe, Position usw.) der Infobox vorgenommen werden.
mfG
dobra