Ausgabe nach Produkt in Warenkorb legen

Begonnen von georgia, Juni 10, 2009, 23:47:07

« vorheriges - nächstes »

0 Mitglieder und 2 Gäste betrachten dieses Thema.

georgia

Haloon,
mit folgendem Link kann ich einen Artikel in den Warenkorb legen:
/cgi-bin/iboshop.cgi?placecart,1234567890,A123:1

Wie bekomme ich es hin, dass danach im Warenkorb an einer x-beliebigen Stelle "Produkt A123 wurde in Ihren Warenkorb gelegt! Klicken Sie hier, um weitere Produkte zu entdecken!" steht? Sollte ohne JavaScript funktionieren. Hat jemand einen fertigen Code?

G.

dobra

Hallo georgia,
sorry, aber ich verstehe die Frage nicht ganz  ???

wenn der Kunde Artikel xy in den WK legt, "warum" soll dann im Warenkorb ein Hinweistext stehen, dass er Artikel xy in den WK gelegt hat?
im WK sieht er doch, was er reingelegt hat  ::)

und "wohin" soll er bei klick auf "Klicken Sie hier, um weitere Produkte zu entdecken!" kommen?

also für "zurück auf die Seite von der er gekommen ist"  gibt's den Identifier  __zurueck__
meinst Du das?
oder willst Du ihn auf irgendeine Zufallsseite schicken?

ohne konkretere Angaben, was Du eigentlich machen willst, kann ich Dir da leider nicht helfen
(meine Kristallkugel ist gerade in der Reinigung  ;))
mfG
dobra

Andi

.. also dobra ... irgendwie bist Du zur Zeit ganz schön bissig ...  ;)
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

georgia

Haloon,

> wenn der Kunde Artikel xy in den WK legt, "warum" soll dann im Warenkorb ein Hinweistext stehen, dass er Artikel xy in den WK gelegt hat?
Weil er auf eine Bestätigung wartet, dass die Aktion erfolgreich verlaufen ist. Zum einen hat er dadurch Sicherheit, zum anderen nun mit einen Klick die Möglichkeite weitere ähnliche Produkte zu finden und ebenfalls zu kaufen. Ein Animieren also.

> wohin
Zurück zu der Produktseite, die er eben bestellt hat. Denn dort werden unten auch noch weiterer Produkte vorgestellt und er kann über die Navigation wieder zurück gehen.

Gibt es dafür einen Code?
Ich kenne diese Text-Anzeige eigentlich aus sehr vielen Shops, nur bei Shoppilot scheint es standardmäßig nicht zu existieren.

G.

admin

Hallo,



<!--spmacro:module(wk)

sub last {
     my $index = $_[0];
     my $anzahl = $_[1];
     my $out;
    %PAGEINFO = ssp::getCurrentPageInfo();
    if ($PAGEINFO{'pagetype'} == 13) { #  ist es placecart
$out = "Soeben in den Warenkorb gelegt :";
$out .= ssp::get_var_cart('id',$anzahl);  # zuletzt reingelegter Artikel steht unten
$out .= " " . ssp::get_var_cart('produkt',$anzahl);
main::mprint $out;
   }
}
-->



Der Code sollte in die Warenkorbvorlage oder in stdcart.ipl eingebunden werden.
Die Ausgabe des in den WK gelegten Artikel erfolgt mit __wk::last__

Gruss hop

dobra

#5
@Andi
nehme den "Ordnungsruf" zur Kentnis  ;)
hast recht, bin z.Z. ein wenig grantig - war aber nicht böse gemeint...
mfG
dobra

georgia

Ah, jetzt funktionierts.

Noch dazu:

1. Wenn ich zum Beispiel dieses Produkt in den Warenkorb lege
http://www.stilfactorei.de/html/wurstschneide-set-laguiole-,pd580!18,,D1131.html
und auf den Link IM Warenkorb wieder zurück will, dann erscheint die Artikel-Seite OHNE aufgeklappter Navigation.
Bei "Sie sind hier" erscheint auch nicht die Kategorie.
Das liegt wohl an dem "cgi-bin/iboshop.cgi?showd0"
(statt showd0 müsste showd[KATEGORIENUMMER] erscheinen).
Wie bekomme ich die Kategorienummer heraus?

Wenn es nur eine Verlinkung war, sollte einfach auch die Kategorienummer der Hauptkategorie genommen werden (AUSSER im Warenkorb wird auch vermerkt, dass eine Verlinkung hineingelegt wurde, dann könnte man natürlich auch die verlinkte Kategorienummer benutzen?).


Noch etwas zu der Beispiel-URL oben:
Gibt es ein fertiges kleines Skript für die Bilderansicht?
Also ein Bild links groß und rechts die kleinen Versionen?
Aktuell mache ich das einfach nur mit HTML und deshalb wird hier in dem Beispiel noch ein leeres Feld mit FALSCHER Url angezeigt. Mit einem Skript müsste man also auslesen können, ob Bild vorhanden oder nicht. Es sollte halt ganz einfach sein, nichts kompliziertes (eigentlich wie jetzt aktuell, halt nur mit keinen leeren Feldern)...

dobra

#7
Hallo georgia,

Ich hab das so gelöst:
Code direkt auf der Warenkorbseite im Headbereich
<!--spmacro:module(item)
sub wklinkdetail {
my $index = shift;
my $anzahl = shift;
if ($index <= $anzahl) {
my $itemid = ssp::get_var_cart('id', $index);
    my $pre = ssp::db_get_prefix();
    my $ITEM = $pre . "ITEM";
    my $SITM = $pre . "SITM";
ssp::readSQLData("SELECT MITEMID FROM $SITM WHERE ITEMID='$itemid'","MITEMID");
my $sitemid =  ssp::get_var_db('MITEMID');
if ($sitemid ne "undefined") {$itemid = $sitemid}
ssp::readSQLData("SELECT PGID FROM $ITEM WHERE ITEMID='$itemid'","PGID");
my $seite = ssp::get_var_db('PGID');
if ($itemid !~ /_GS_/) {
main::mprint(qq|<a href="__xxpath__?showd$seite!0,$ssp::xxsession,$itemid">__id__</a>|);
}
}
return "noinc";
}
-->


und   __id__   mit    __item::wklinkdetail__   ersetzen.
Damit wird der korrekte Link zur Detailseite generiert.

Zur 2. Frage (Bildlinks nur anzeigen wenn es auch Bilder gibt)
Da gibt es verschiedene Möglichkeiten.
Mit ssp die Bilder abfragen und den Link nur anzeigen, wenn's ein Bild gibt oder die Felder mit css ausblenden wenn  Bild nicht vorhanden.
Für den Code den Du brauchst müsste ich aber wissen, wo die Bilder liegen bzw. wie Du sie jetzt einbindest.
(benutzerdef. Felder, separate Bildordner, ....)

Nachtrag:

statt __id__ kann Du natürlich auch was anderes verlinken
z.B.
main::mprint(qq|<a href="__xxpath__?showd$seite!0,$ssp::xxsession,$itemid">__produkt__</a>|);
mfG
dobra

admin

Hallo Zusammen,

zur Info:

in der neuen Version 3.02 wird der Link auf die Detailseite mit korrekte Seitennummer erzeugt und kann über den Identifier __xdetail__ benutzt werden
oder per ssp::get_var_cart('pgid',$index) ausgelesen werden. Eine Datenbankabfrage wie in der Lösung von dobra  ist also nicht mehr notwendig.

Gruß hop

dobra

#9
Hallo hop,

Danke für den Tipp  :)
(mein Script ist auch schon etwas älteren Datums)

SO ist's natürlich viiiel einfacher  8)
also einfach nur noch
<a href="__xdetail__">__produkt__</a>
schreiben und das Script oben vergessen

wieder mal ein Nachtrag  ;)
Nachtrag editiert

Wenn man Gutscheine oder Artikel die keine Detailseite haben auch verlinkt, kommt man auf die Index-Seite was ja nicht erwünscht ist.
Man sollte den (supereinfachen) __xdetail__ Link also nur dann verwenden, wenn man sicher ist, dass es eine Detailseite gibt.
Im WK ist's also besser, die Verlinkung doch mit ssp zu machen
so funktioniert's bei mir:
<!--spmacro:module(item)
sub wklinkdetail {
my $index = shift;
my $itemid = ssp::get_var_cart('id', $index);
my $seite = ssp::get_var_cart('pgid',$index);

my $ITEM = ssp::db_get_prefix() . "ITEM ";
ssp::readSQLData("SELECT TEMPL FROM $ITEM WHERE ITEMID='$itemid'","TEMPL");
my $ifdseite =  ssp::get_var_db('TEMPL');

if ($itemid !~ /_GS_/) {
if (!length($ifdseite)) { main::mprint(qq|<a href="__xxpath__?show$seite!0,$ssp::xxsession">__produkt__</a>|); }
else {main::mprint(qq|<a href="__xdetail__">__produkt__</a>|);
}
} else {main::mprint "__produkt__"; }
}
-->


Detailseite vorhanden -> Link zur Detailseite
keine Detailseite -> Link zur Produktseite
Gutschein -> kein Link
mfG
dobra

georgia

Der Code für __item::wklinkdetail__ funktioniert nur zur Hälfte.
Wenn ich 1 Artikel hineinlege... funktioniert der Code (die Bestellnummer wird richtig übergeben).

Lege ich einen 2. Artikel hinein, wird bei DIESEM Link auch die Bestellnummer des ERSTEN Artikels übergeben
Bei dem 3. Artikel nimmt er dann die Bestellnummer vom 2. Artikel. Usw.
Woran kann das liegen?

Noch dazu: Kann ich den Link __item::wklinkdetail__  in der Schleife dann mehrmals verwenden?
Also das Bild soll verlinkt sein und der Text. Deshalb müsste ich den Befehl zweimal hineinschreiben.

> schreiben und das Script oben vergessen
Wie ich gelesen habe, wird die vereinfachte Variante erst in einer erst noch kommenden Version existieren




> Für den Code den Du brauchst müsste ich aber wissen, wo die Bilder liegen bzw. wie Du sie jetzt einbindest.

Hier eine vereinfachte Version:


<img src="__BILD1E__" name="Bildershow" alt="Abbildung: __produkt__" border="0"><br><br>

  <div style="float:right; width:75px; height:75px; border-style:solid; border-width:1px; border-color:#cccccc; background-color:#f5f5f5; background-image:url('__BILD1D__'); background-position:center; background-repeat:no-repeat; margin-bottom:10px; margin-left:10px; overflow:hidden;">
    <a href="__BILD1E__" target="Bildershow" onclick="document.Bildershow.src='__BILD1E__'; return false"><img src="/shop/grafik/leer.gif" width="100%" height="100%" border="0" alt="" title="__produkt__"></a>
  </div>

  <div style="float:right; width:75px; height:75px; border-style:solid; border-width:1px; border-color:#cccccc; background-color:#f5f5f5; background-image:url('__BILD2D__'); background-position:center; background-repeat:no-repeat; margin-bottom:10px; margin-left:10px; overflow:hidden;">
    <a href="__BILD2E__" target="Bildershow" onclick="document.Bildershow.src='__BILD2E__'; return false"><img src="/shop/grafik/leer.gif" width="100%" height="100%" border="0" alt="" title="__produkt__"></a>
  </div>


- __BILD1E__ ist das erste große Bild
- __BILD1D__ ist das erste kleine Vorschaubild
- __BILD2E__ ist das zweite große Bild
- __BILD2D__ das zweite kleine Vorschaubild
usw.

Die großen Bilder liegen unter /shop/generatedimgs/500x500/
und die kleinen Vorschaubilder unter
/shop/generatedimgs/75x75/

Der Dateiname (Bsp): U806_1.jpg, U806_2.jpg und U806_3.jpg (für drei Detailbilder)

dobra

Hallo nochmal,

1) die neue Version 3.02 gibts schon im Kundenbereich von shoppilot.de
2) ne - den Link kannst Du so natürlich nur 1x verwenden, aber das Bild im WK wurde immer schon mit einfach mit __image__ korrekt verlinkt
3) melde ich mich Abend zuhause nochmal wegen dem Bild wechseln

so long

mfG
dobra

dobra


kleine Vorschaubilder nur ausgeben wenn vorhanden

ich bin mal davon ausgegangen, dass das erste Bild immer vorhanden ist
Die Abfrage fängt als erst bei Bild 2 an

gibt es nur 1 Bild, werden keine Vorschaubilder angezeigt
gibt es 2 große Bilder -> 2 kleine Vorschaubilder
gibt es 3 große Bilder -> 3 kleine Vorschaubilder
usw

konnte das leider nicht testen, aber es sollte so funktionieren
zwischen qq|  und  |; jeweils den Anweisungsblock der angezeigt werden soll wenn vorhanden schreiben
(habe das jetzt mal einfach kopiert - hier kommt dann immer der originale Text rein)
<!--spmacro:module(show)
sub vorschaubild-x2 {
my $out;
   my $img2 = ssp::get_var_article('BILD2E');  # 2. großes Bild
if (length($img2) && $img2 ne $ssp::undefined) { # wenn 2. großes Bild vorhanden ist -> 1. + 2. Vorschaubild anzeigen
$out = qq|
  <div style="float:right; width:75px; height:75px; border-style:solid; border-width:1px; border-color:#cccccc; background-color:#f5f5f5; background-image:url('__BILD1D__'); background-position:center; background-repeat:no-repeat; margin-bottom:10px; margin-left:10px; overflow:hidden;">
<a href="__BILD1E__" target="Bildershow" onclick="document.Bildershow.src='__BILD1E__'; return false"><img src="/shop/grafik/leer.gif" width="100%" height="100%" border="0" alt="" title="__produkt__"></a>
  </div>
 
  <div style="float:right; width:75px; height:75px; border-style:solid; border-width:1px; border-color:#cccccc; background-color:#f5f5f5; background-image:url('__BILD2D__'); background-position:center; background-repeat:no-repeat; margin-bottom:10px; margin-left:10px; overflow:hidden;">
<a href="__BILD2E__" target="Bildershow" onclick="document.Bildershow.src='__BILD2E__'; return false"><img src="/shop/grafik/leer.gif" width="100%" height="100%" border="0" alt="" title="__produkt__"></a>
  </div>  
|;
main::mprint($out);
}
}

sub vorschaubild_x3 {
my $out;
   my $img3 = ssp::get_var_article('BILD3E');  # 3. großes Bild
if (length($img3) && $img3 ne $ssp::undefined) {  # wenn 3. großes Bild vorhanden ist -> auch 3. Vorschaubild anzeigen
$out = qq|
  <div> 3. Bolck </div>
|;
main::mprint($out);
}
}
# usw
-->


das Script in den Headbereich schreiben und wo jetzt das  <div style="float:right; width:75px; ....  steht
dann
__show::vorschaubild_x2__
__show::vorschaubild_x3__
usw
schreiben

mfG
dobra