Autor Thema: benutzerdefinierte Felder in Kundenkonto - Bestelldetails =>Lösung  (Gelesen 8941 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Hallo,

Habe eine Lösung gefunden, wie man auch benutzerdefinierte Felder auf der Bestelldetail-Seite anzeigen kann:
(in diesem Beispiel wird berücksichtigt ob es sich um eine Variante oder einen Artikel handelt
Die Benutzedefinierten Felder ARTIKELNAME und SEITE sind bei Artikel angelegt, sollen aber auch bei Varianten angezeigt werden)

<!--spmacro:module(artikelname)
sub vanzeigen {
   my $index = $_[0];
   my $id = ssp::get_var_db("ITEMID",$index);
my $count = ssp::readSQLData("SELECT MITEMID FROM PY2_SITM WHERE ITEMID ='$id'","MITEMID");
if ($count >= 0) {
my $i=0;
while ($count > $i) {
$arikelid = ssp::get_var_db("MITEMID",$i);
++$i;
}

my $count = ssp::readSQLData("SELECT ARTIKELNAME, SEITE FROM PY2_ITEM WHERE ITEMID ='$arikelid'","ARTIKELNAME", "SEITE");
if ($count >= 0) {
my $i=0;
while ($count > $i) {
$name = ssp::get_var_db("ARTIKELNAME",$i);
$seite = ssp::get_var_db("SEITE",$i);
++$i;
}

my $anzeigen = qq{<a href="http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show$vseite,__xxsession__" > $vname </a>};
main::mprint ($anzeigen);
       }
}
}

sub anzeigen {
   my $index = $_[0];
   my $id = ssp::get_var_db("ITEMID",$index);
my $count4 = ssp::readSQLData("SELECT ARTIKELNAME, SEITE FROM PY2_ITEM WHERE ITEMID ='$id'","ARTIKELNAME", "SEITE");
if ($count4 >= 0) {
my $i=0;
while ($count4 > $i) {
$name = ssp::get_var_db("ARTIKELNAME",$i);
$seite = ssp::get_var_db("SEITE",$i);
++$i;
}

my $anzeigen = qq{<a href="http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show$seite,__xxsession__" > $name </a>};
main::mprint ($anzeigen);
       }
}

-->
Gewünschte Ausgabe, Name von den benutzerdefinierten Feldern und ev. Tabellennamen müssen natürlich angepaßt  werden.

Beispiel:

hier wird statt der Artikelnr. der Artikelname (ben. def. Feld ARTIKELNAME) mit Link zu Seite (ben. def. Feld SEITE) ausgegeben.

Den Code in oitem_identifier.ipl schreiben - Ausgabe auf der kundenkonto_bestellung_detail.html Seite mit __artikelname::vanzeigen__ für Varianten und __artikelname::anzeigen__ für Artikel.

Das Skript kann natürlich - je nachdem was man anzeigen möchte - beliebig angepaßt werden.

P.S.:  der Code ist sicher umständlich und nicht professionell geschrieben, aber es funktioniert (zumindestens bei mir  :D)
PP.S.: um nicht mehr im Katalog vorhandene Artikel abzufangen, werde ich noch versuchen, eine "If"-Abfrage einzubauen - ist mir gerade eingefallen, daß das fehlt



Linkback: https://www.shoppilot.net/pf/index.php?topic=780.0
« Letzte Änderung: Februar 17, 2007, 19:00:58 von dobra »
mfG
dobra

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: benutzerdefinierte Felder in Kundenkonto - Bestelldetails =>Lösung
« Antwort #1 am: Februar 19, 2007, 09:02:25 »

Zitat
PP.S.: um nicht mehr im Katalog vorhandene Artikel abzufangen, werde ich noch versuchen, eine "If"-Abfrage einzubauen



Wenn Arikel nicht mehr im Katalog ist (erster Artikel) wird wieder die Artikelnummer angezeigt und bei Beschreibung der Hinweistext
"Artikel ........."
(man kann natürlich auch beliebige andere Texte ausgeben)

Falls jemand den Code haben möchte, bitte um Nachricht

Offline catwoman

  • Newbie
  • *
  • Beiträge: 20
  • Lob: 0
Hallo Dobra, könnte ich den Code bitte haben. Gerne auch mit der Lösung:  um nicht mehr im Katalog vorhandene Artikel abzufangen. Vielen Dank im voraus.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Hallo catwoman,

hier der Code (für Artikel - berücksichtigt auch abgelaufene Gutscheine)
<!--spmacro:module(show)
sub produkt {
my $jetzt = time();
    my $index = $_[0];
my $itemid = ssp::get_var_cart('id', $index);
my $pre = ssp::db_get_prefix();
my $ITEM = $pre . "ITEM";
ssp::readSQLData("SELECT STAFP4 FROM $ITEM WHERE ITEMID='$itemid'","STAFP4");
my $gueltigbis = ssp::get_var_db('STAFP4', 0);
    my $produkt = ssp::get_var_cart('produkt', $index);
my $out = qq|$produkt|;
if ($itemid =~ /_GS_/ && $jetzt > $gueltigbis && length($gueltigbis)) {$out = "Gutschein abgelaufen";}
if (!length($produkt) && $itemid !~ /_GS_/ ) {$out = "nicht mehr verfügbar";}
main::mprint ($out);
}
-->>

und dann __produkt__ mit __show::produkt__ ersetzen


xx
benutzerdefinierte Felder in Kundenkonto - Bestelldetails

Begonnen von dobra

9 Antworten
11835 Aufrufe
Letzter Beitrag Dezember 27, 2006, 20:42:08
von admin
xx
Bestelldetails mit Artikelbildern

Begonnen von dobra

0 Antworten
5636 Aufrufe
Letzter Beitrag Dezember 19, 2009, 17:30:17
von dobra
xx
benutzerdefinierte Identiefer

Begonnen von dobra

2 Antworten
6342 Aufrufe
Letzter Beitrag Juni 28, 2006, 14:26:58
von dobra
xx
Benutzerdefinierte Datenfelder

Begonnen von Andi

0 Antworten
4758 Aufrufe
Letzter Beitrag August 09, 2002, 12:51:12
von Andi