From e48e3fc448c19d85e65c7267b230232addf156aa Mon Sep 17 00:00:00 2001 From: Roger Rehnelt Date: Thu, 1 Oct 2026 19:31:19 +0200 Subject: Produktansichten: Modul aus ShopThemeOne im Plugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [wpsg_productview] und [wpsg_productview_filter] kommen ins Plugin; Seite, Sortierung, Ansicht und Filter stehen in der Adresse, Ajax übernimmt nur diese Werte. Ein gleichnamiges Modul im Theme bricht den Shop nicht mehr ab. Co-Authored-By: Claude Opus 5.5 --- views/mods/mod_productview/productview.phtml | 171 +++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 views/mods/mod_productview/productview.phtml (limited to 'views/mods/mod_productview/productview.phtml') diff --git a/views/mods/mod_productview/productview.phtml b/views/mods/mod_productview/productview.phtml new file mode 100644 index 0000000..ae66c39 --- /dev/null +++ b/views/mods/mod_productview/productview.phtml @@ -0,0 +1,171 @@ +view['wpsg_mod_productview']; + $atts = $v['atts']; + $currency = $this->get_option('wpsg_currency'); + $prefix = (($atts['key'] === 'default')?'pv-':'pv-'.$atts['key'].'-'); + + $arOrder = $v['arOrder']; + if ($atts['order_set'] !== '') $arOrder = array_intersect_key($arOrder, array_flip(explode(',', $atts['order_set']))); + + $hidden = function($name, $value) use (&$hidden) { + if (is_array($value)) { foreach ($value as $k => $sub) $hidden($name.'['.$k.']', $sub); return; } + echo ''; + }; + +?> +
+ + + +
+ + +

+ + +

0) { + echo esc_html(wpsg_translate(__('Anzeige #1# – #2# von #3# Ergebnissen', 'wpsg'), ($v['page'] - 1) * $v['per_page'] + 1, $v['pageMax'], $v['count'])); + } else { + echo esc_html__('Keine Produkte in dieser Ansicht.', 'wpsg'); + } ?>

+ + 1 && sizeof($arOrder) > 1) { ?> +
+ + + + +
+ + + 0) { ?> + + + +
+ + +
    + id); $url = $oProduct->getProductURL(); $name = $oProduct->getProductName(); $attachment_id = $this->imagehandler->getAttachmentID($oProduct->getProductKey()); ?> +
  • + + + + + +
    + +

    + detailname; if ($detailname !== '' && $detailname !== $name) { ?> +

    + + + getRating()); if ($rating > 0) { ?> +

    + + + canDisplayPrice()) { $price = $oProduct->getPrice(); $oldPrice = $oProduct->getOldPrice(); ?> +

    + + + + + + +

    + hasMod('wpsg_mod_fuellmenge')) { ?> +
    callMod('wpsg_mod_fuellmenge', 'renderPriceInfo', [$price, $oProduct->fmenge, $product_id]); ?>
    + +

    + getURL(wpsg_ShopController::URL_VERSANDKOSTEN)).'">'.esc_html__('Versandkosten', 'wpsg').''; ?> + get_option('wpsg_kleinunternehmer')) { ?> + + getFrontendTaxview() == WPSG_NETTO) { ?> + getFrontendTaxValue())), $shipping); ?> + + getFrontendTaxValue())), $shipping); ?> + +

    + +

    + + + hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showProduct') == '1') { ?> +

    stock))); ?>

    + + + hasMod('wpsg_mod_deliverytime') && $this->get_option('wpsg_mod_deliverytime_show_product') == '1') { ?> +

    + callMod('wpsg_mod_deliverytime', 'isStoreProduct', [$oProduct->getProductKey()])) { ?> + callMod('wpsg_mod_deliverytime', 'displayStoreText', [$oProduct->getProductKey()])); ?> + callMod('wpsg_mod_deliverytime', 'displayDelayTime', [$oProduct->getProductKey()]); ?> + + callMod('wpsg_mod_deliverytime', 'displayDeliveryTime', [$oProduct->getProductKey()])); ?> + + +

    + + + hasMod('wpsg_mod_weight') && $this->get_option('wpsg_mod_weight_showProduct') === '1' && floatval($oProduct->weight) > 0) { ?> +

    weight, $this->get_option('wpsg_mod_weight_unit')))); ?>

    + + + getShortDescription(); if ($short !== '') { ?> +
    + + +
    + +
    + + + + +
    + + +
    + +
    + +
  • + +
+ + + 1) { ?> + + + +
-- cgit v1.2.3