From 4cf4721782973af5f05c960972fd46356d1a4b85 Mon Sep 17 00:00:00 2001 From: Roger Rehnelt Date: Sat, 3 Oct 2026 19:59:11 +0200 Subject: Produktseiten: strukturierte Daten als JSON-LD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Produktdetailseite und Produktartikel geben schema.org Product mit Angebot, Verfügbarkeit, GTIN und Marke im Seitenkopf aus. Die Microdata der klassischen Vorlagen ist gültig, die neue Produktseite hat keine mehr. Co-Authored-By: Claude Opus 5.5 --- views/produktseite/produkt.phtml | 27 +++++++-------------------- views/produkttemplates/standard.phtml | 3 +-- views/produkttemplates/standard2.phtml | 13 +++++++++---- views/produkttemplates/standard3.phtml | 9 ++++++--- 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/views/produktseite/produkt.phtml b/views/produktseite/produkt.phtml index 962c359..22d14e0 100644 --- a/views/produktseite/produkt.phtml +++ b/views/produktseite/produkt.phtml @@ -41,16 +41,8 @@ -
- - - - - getAllProductCodes() as $product_code) { ?> - - - - + +
@@ -77,8 +69,6 @@ - - rel="gallery-wpsg-getTemplateIndex(); ?>" title="getProductName()); ?>" href="" data-fslightbox="getTemplateIndex(); ?>" data-wpsg-image=""> '(min-width: 800px) 50vw, 100vw', 'loading' => (($bShown && $bMainProduct)?false:'lazy'), 'fetchpriority' => (($bShown && $bMainProduct)?'high':'auto')]); ?> @@ -124,10 +114,7 @@ canDisplayPrice()) { $price = $oProduct->getPrice($this->view['data']['product_key']); $oldPrice = $oProduct->getOldPrice(); $hint_id = \wpsg\Blocks::kleinunternehmerHintID('product-'.$oProduct->getId()); ?> -
- - - +
@@ -196,7 +183,7 @@ view['data']['shortdesc']??''))); ?> -
+
view['data']['shortdesc']; ?> @@ -268,7 +255,7 @@ view['data']['beschreibung']??''))); if ($kurztext !== '' && $kurztext !== $shortdesc_text) { ?>
-
+
view['data']['beschreibung']; ?>
@@ -379,7 +366,7 @@
  • : getNr()); ?>
  • -
  • :
  • +
  • :
  • :
  • @@ -398,7 +385,7 @@ < class="wpsg-product__section wpsg_produkt_" aria-labelledby=""> id="" class="wpsg-product__section-title">> - >view['data'][$field]; ?>
    +
    view['data'][$field]; ?>
    > diff --git a/views/produkttemplates/standard.phtml b/views/produkttemplates/standard.phtml index c908dea..82cc85d 100644 --- a/views/produkttemplates/standard.phtml +++ b/views/produkttemplates/standard.phtml @@ -40,7 +40,6 @@
    - getAllProductCodes() as $product_code) { ?> @@ -111,7 +110,7 @@
    - + get_option('wpsg_currency')); if ($schema_currency !== null) { ?> diff --git a/views/produkttemplates/standard2.phtml b/views/produkttemplates/standard2.phtml index d2c072e..6308039 100644 --- a/views/produkttemplates/standard2.phtml +++ b/views/produkttemplates/standard2.phtml @@ -46,10 +46,14 @@
    - + - - + + getAllProductCodes() as $product_code) { ?> + + + + - + get_option('wpsg_currency')); if ($schema_currency !== null) { ?> + diff --git a/views/produkttemplates/standard3.phtml b/views/produkttemplates/standard3.phtml index 567a308..c305178 100644 --- a/views/produkttemplates/standard3.phtml +++ b/views/produkttemplates/standard3.phtml @@ -62,9 +62,9 @@
    titleDisplayed) { ?> -

    getProductName($this->view['data']['id']); ?>

    +

    getProductName($this->view['data']['id']); ?>

    view['data']['detailname']??'') !== '' && $this->getProductName($this->view['data']['id']) !== $this->view['data']['detailname']) { ?> -

    view['data']['detailname']); ?>

    +

    view['data']['detailname']); ?>

    @@ -74,6 +74,8 @@
    + + get_option('wpsg_showArticelnumber') == '1') { ?>
    : getNr()); ?>
    @@ -100,7 +102,8 @@
    - + get_option('wpsg_currency')); if ($schema_currency !== null) { ?> + -- cgit v1.2.3