Schnellkauf funktioniert nicht

maahn

Gut bekanntes Mitglied
4. Januar 2016
231
3
Hallo,
wie habt ihr die Schnelleinkauf-Funktion zum Laufen gebracht.
Die Box ist zwar sichtbar, aber wenn ich eine Artikelnummer eingebe, bekomme ich nur die Nachricht:
[h=1]Es befinden sich keine Artikel im Warenkorb[/h]Und einen Button mit WEITER EINKAUFEN.

Liegt es daran, dass ich keine EAN-Nummern vergeben habe, sondern nur Artikelnummern?
Oder muss man irgendwo in der Wawi noch was aktivieren?
Hab über die Foren-Suche leider nix gefunden oder mein Suchbegriff "Schnellkauf" ist einfach nicht optimal gewählt.

Vielen Dank auch heute wieder für eure Hilfe!
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
AW: Schnellkauf funktioniert nicht

Das ist ein Fehler in der Programmierung, irgendwo hatte ich auch schon das Problem und die Lösung gepostet.
 

maahn

Gut bekanntes Mitglied
4. Januar 2016
231
3
AW: Schnellkauf funktioniert nicht

Moin-Moin,
meintest du diesen Post?

wie es aussieht habt Ihr einen Bug in eurer Schnellkauf Möglichkeit, bzw. vermutlich einen Fehler in der Funktion
checkeSchnellkauf() die in der Warenkorb_inc.php liegt, ich denke die If Abfrage in Zeile 377 sollte eher abfragen ob kein Artikel gefunden wurde um nach der ean zu suchen.


 

maahn

Gut bekanntes Mitglied
4. Januar 2016
231
3
AW: Schnellkauf funktioniert nicht

Okay, dann geht es also um diesen Abschnitt:

function checkeSchnellkauf()
{
$hinweis = '';
if (isset($_POST['schnellkauf']) && intval($_POST['schnellkauf']) > 0 && isset($_POST['ean']) && $_POST['ean']) {
$hinweis = Shop::Lang()->get('eanNotExist', 'global') . ' ' . $_POST['ean'];
//gibts artikel mit dieser artnr?
$artikel = Shop:😀B()->query("SELECT * FROM tartikel WHERE cArtNr='" . StringHandler::htmlentities(StringHandler::filterXSS($_POST['ean'])) . "'", 1);
if (isset($artikel->kArtikel) && $artikel->kArtikel > 0) {
$artikel = Shop:😀B()->query("SELECT * FROM tartikel WHERE cBarcode='" . StringHandler::htmlentities(StringHandler::filterXSS($_POST['ean'])) . "'", 1);
}
if (isset($artikel->kArtikel) && $artikel->kArtikel > 0) {
if (fuegeEinInWarenkorb($artikel->kArtikel, 1, ArtikelHelper::getSelectedPropertiesForArticle($artikel->kArtikel))) {
$hinweis = $artikel->cName . ' ' . Shop::Lang()->get('productAddedToCart', 'global');
}
}
}

return $hinweis;
}


Reicht es aus, wenn ich über ean durch kArtikel ersetze?
Sorry, bin kein PHP-Programmierer, kann nur HTML und CSS....also MalennachZahlen...😱)

Danke schon mal für deine Hilfe!
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
AW: Schnellkauf funktioniert nicht

Das ist bestimmt nicht gerne gesehen wenn ich dich dazu auffordere den core zu ändern, aber da es ja schon seit gefühlten Ewigkeiten kein Update gibt.

so sieht das aus:

PHP:
       $artikel = Shop::DB()->query("SELECT * FROM tartikel WHERE cArtNr='" . StringHandler::htmlentities(StringHandler::filterXSS($_POST['ean'])) . "'", 1);
        if (isset($artikel->kArtikel) && $artikel->kArtikel > 0) {

Die zweite Zeile musst du so anpassen:

PHP:
        if ($artikel===false) {

dann sollte es klappen.
 

maahn

Gut bekanntes Mitglied
4. Januar 2016
231
3
AW: Schnellkauf funktioniert nicht

Hammmer!!!
Funktioniert.
Ich teste jetzt noch verschiedene Wege...aber im Moment sieht das einfach nur phantastisch aus.

Grandios...ich kann meine Freude gar nicht in Worte fassen.

DANKE-DANKE-DANKE.
Vielen Dank für deine super-schnelle Hilfe und das auf einem Sonntag. Genial.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
AW: Schnellkauf funktioniert nicht

Hallo,

hier ist die ganze Funktion

PHP:
/**
 * @return string
 */
function checkeSchnellkauf()
{
    $hinweis = '';
    if (isset($_POST['schnellkauf']) && intval($_POST['schnellkauf']) > 0 && isset($_POST['ean']) && $_POST['ean']) {
        $hinweis = Shop::Lang()->get('eanNotExist', 'global') . ' ' . $_POST['ean'];
        //gibts artikel mit dieser artnr?
        $artikel = Shop::DB()->query("SELECT * FROM tartikel WHERE cArtNr='" . StringHandler::htmlentities(StringHandler::filterXSS($_POST['ean'])) . "'", 1);

        if ($artikel===false) {
            $artikel = Shop::DB()->query("SELECT * FROM tartikel WHERE cBarcode='" . StringHandler::htmlentities(StringHandler::filterXSS($_POST['ean'])) . "'", 1);
        }
        if (isset($artikel->kArtikel) && $artikel->kArtikel > 0) {
            if (fuegeEinInWarenkorb($artikel->kArtikel, 1, ArtikelHelper::getSelectedPropertiesForArticle($artikel->kArtikel))) {
                $hinweis = $artikel->cName . ' ' . Shop::Lang()->get('productAddedToCart', 'global');
            }
        }
    }

    return $hinweis;
}
 

Ähnliche Themen