Artikel Ausverkauft = Warenkorb-Button außer Funktion

  • Hallo,


    es wäre sehr hilfreich wenn man in der Artikelverwaltung ein Kontrollkästchen hätte um anzugeben ob ein Artikel ausverkauft oder nicht mehr verfügbar ist.


    Bisher löse ich das Problem so, dass ich den Highlight-Artikel ausblende und stattdessen ein Textfeld einbinde, dass der Artikel nicht mehr Verfügbar ist.


    "Produkt derzeit nicht auf Lager Es tut uns leid, dass der Artikel derzeit nicht vorrätig ist. Bitte teilen Sie uns Ihre E-Mail Adresse mit, falls Sie informiert werden möchten, sobald dieses Produkt wieder eingetroffen ist. Kontakt (Link) vielen Dank!"


    Folgende Probleme sehe ich hierbei:

    Bei ausgeblendedem Highlight-Artikel können von goolge die Micordaten nicht mehr ausgelesen werden, was dann zu einem Rankingproblem bei Produkten kommt, wenn diese plötzlich nicht mehr Verfügbar sind.

    Der Nutzer kann den eigentlichen Preis nicht mehr sehen.


    Lösung: Warenkorb-Button niedrige opacity und nicht mehr klickbar. Preis sichtbar.


    Den Text kann man ja dann individuell mit einem Textfeld einfügen.

  • Hallo Marc,


    ich kann jetzt gerade nicht die "Lösung" beschreiben, sondern nur, wie ich es bei unseren Vereinsartikeln handhabe.

    • wir haben T-Shirts, Westen und Jacken, die in verschiedenen Größen entweder vorrätig sind oder aber kurzfristig nachbestellen können.
      • "Artikel" -> "Optionen" -> Häkchen bei "Lagerbestand führen" + "Bestellung bei Lagerbestand 0 zulassen"
    • Aus Fundstücken oder Spenden (Anzug zu klein geworden/raus gewachsen) haben wir einzelne Karate-Gi, die nur genau einmal verfügbar sind
      • "Artikel" -> "Optionen" -> Häkchen bei "Lagerbestand führen" + kein Häkchen bei "Bestellung bei Lagerbestand 0 zulassen"


    Bei der ersten Variante kann bestellt werden, obwohl gegenwärtig kein Artikel auf Lager ist, bei der zweiten Variante ist nach Verkauf des einzigen verfügbaren Artikels keine weitere Bestellung möglich. Den Text zur Variante 2 kannst Du über die Texte im Shop anpassen, nach meinem Verständnis sollte es hier auch möglich sein, HTML zu verwenden, um beispielsweise auf ein gesondertes Bestellformular zu verlinken: "Dieser Artikel kann aktuell nicht bestellt werden, bitte nutzen Sie (Link zur Formularseite), um über die künftige Verfügbarkeit informiert zu werden"

  • Die Bestandsführung ist bei einem reinen Onlineshop sicherlich die beste Möglichkeit.


    In unserem Fall habe wir zusätzlich noch ein Ladengeschäft, aber nur ein Lager. Eine doppelte Lagerführung und die online Lagerführung des WebShops stellt sich bei einem kleinen Gewerbe schwierig dar und ist zeitaufwändig.


    Wenn der Button außer Funkton gesetzt werden kann, wäre dies die einfachste und zeitsparendste Variante.


    Da ich aber sowieso ein Problem mit den Microdaten habe, da ich den Highlight-Artikel angepasst habe, denke ich darüber nach die mikrodaten aus dem Code zu löschen und die Daten der Seite per json lt mitzugeben. Nur hält mich der Pflegeaufwand noch davon ab. Diese Sache muss ich mir erst genau überlegen.

  • Hallo,


    Sie müssen ja keine wahrheitsgetreue Lagerbestandsführung machen. Sie können ja bei allen Artikeln einen Bestand von 1.000.000 eingeben, und nur, wenn der Button deaktiviert werden soll, ändern Sie den Bestand auf 0. Wenn der Artikel wieder verfügbar sein soll, ändern Sie den Bestand einfach wieder auf 1.000.000. Eine Million Verfügbarkeit sollte in der Realität ja eine Weile ausreichen, also ggf. nach einem Jahr oder fünf mal kontrollieren, ob der Bestand bei einigen Artikeln bereits kritisch abgenommen hat und gegen NULL tendiert.

  • Das Hauptproblem ist einfach der kopierte Highlight Artikel, mit dem Code ist es einfach nicht möglich alle sturkturierte Daten darzustellen.


    Ich habe mich damals dafür entschieden um z.B. Füllmenge: 500 ml (2,31 € / 100 ml) mit einzubauen welches im Lebensmittelbereich eine Pflichtangabe ist. Auch sind die Produktbilder separat mit einem wrapper eingebaut. Im Shopbereich hat man keine Möglichkeit irgendetwas an der Darstellung individuell anzupassen.


    Ich sehe als einzigste Lösung um meine Darstellung beizuhalten, die microdaten herauszunehmen und die Infos per json lt einzubinden. Da sich die Artikel in Zukunft nicht groß verändern werden, hält sich auch der Pflegeaufwand in grenzen.

  • Also im Standard unterstützt der Highlight-Artikel die Bestandsführung ebenso – sogar in der Darstellung "Nur arenkorb-Button". Ich verstehe daher nicht, warum das bei Ihrer Kopie nicht mehr der Fall ist. Haben Sie beim Kopieren etwa teile des vorhandenen Codes gelöscht?

  • Ich habe das noch nicht ausprobiert, aber ich denke das sollte so klappen. Problem es sind einfach zu viele offene Baustellen (siehe Anhang)


    Großes Problem kein Bild vorhanden, da ich das Bild separat vom Highlight Artikel Code eingebunden habe.

    Das Thema Beschreibung hatten wir ja schon in der Vergangenheit, hier ist es mit CSS display: none... auch nicht ohne weiteres Machbar hier eine ordentliche Beschreibung reinzu bekommen und die Füllmenge herauszubekommen. Auch fehlt der Brand. Mit der Verfügbarkeit könnte evtl. mit Ihren Angaben funktionieren


    Nochmal das liegt alles nicht an ZP, die Probleme habe ich mir selber eingebrockt. Ich weiß wie ich das alles hinbekomme um die strukturierten Daten so zu generieren wie es sein soll, einzigster Knackpunkt ist der Pflegeaufwand.

  • Also Code umgestellt, die sturkturierte Daten sollten bis auf das Bild automatisch ausgefüllt werden: (siehe Anhang)


    <script type="application/ld+json">

    {

    "@context": "https://schema.org/",

    "@type": "Product",

    "name": "<$= page.name $>",

    "image": "https://www.taste-of-koroni.de/media/images/taste-of-koroni-olivenoel-extra-nativ-500ml.jpg",

    "description": "<$= page.description $>",

    "brand": "#attribute(brand)",

    "sku": "<$= article $>",

    "offers": {

    "@type": "Offer",

    "url": "<$= page.absoluteUrl $>",

    "priceCurrency": "EUR",

    "price": "11.55",

    "priceValidUntil": "2020-11-01",

    "availability": "https://schema.org/InStock",

    "itemCondition": "https://schema.org/NewCondition"

    }

    }

    </script>


    Nun finde ich leider den Platzhalter für:


    "price" nicht

    die "sku" funktoniert auch noch nicht.


    Somit hat sich der Aufwand in Grenzen gehalten und mit einfügen des Codes muss nur noch das Bild händisch eingefügt werden, alle anderen Daten werden vom System zusammengesucht.


    Nun ist es auch machbar den Highlight-Artikel auszublenden, wenn Produkt nicht mehr verfügbar ist :)

  • Für die Platzhalter bitte ggf. einfach einen Blick in die Original-Widgets werfen. Die Platzhalter für Preis etc. sind aber nur in PHP verfügbar, nicht im JavaScript oder per Zeta Producer scripting. Sie müssten die Variablen also ggf. (falls das JSON nicht in der PHP-Seite ausgegeben wird) vorab per PHP ermitteln und dann ggf. den entsprechenden PHP-Code im JS ausgeben (sofern möglich).


    Code
    1. <meta itemprop="price" content="<?= CurrencyHelper::MdPrice($currentPrice) ?>">
    2. <meta itemprop="priceCurrency" content="<?= ZPS_CURRENCY_CODE ?>">
    3. <meta itemprop="sku" content="<?= $currentNumber ?>" />
  • Ja, aber wenn das<script type="application/ld+json"> programmatisch von der PHP-Seite generiert wird, können die Platzhalter ja entsprechend ausgegeben werden. Ich habe halt keine Ahnung, wie/wo und warum Sie das JSON generieren, kann daher nicht viel spezifische Tipps geben.

  • Verstehe ich trotzdem noch nicht. Wichtig sind doch nur die Midcodaten und nicht das Format, in dem diese bereitgestellt werden, oder? Man hätte doch einfach das Standard-Widget kopieren und fehlende microdata <meta itemprop…>-Tags ergänzen können, oder?

  • Ja das wäre mir ehrlichgesagt auch am liebsten gewesen. Das Problem ligt an der Zeile "Füllmenge: 500 ml (2,31 € / 100 ml)" diese muss ich individuell in jedem Artikel in der Beschreibung angeben. Somit fehlt mir die describtion. Tests mit css ausblenden und einen anderen Inhalt anzuzeigen hat nach langem probieren nicht funktioniert. Auch habe ich keine Chance ein Produktbild bereitzustellen, da in den microdaten die Bilder vom Artikelstamm ausgespielt werden.