Rev 8410 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
/*
* Template für das Produkt im Frontend Layout 3
*/
/** @var wpsg_product $oProduct */
$oProduct = $this->view['oProduct'];
$arAttachmentIDsAll = $this->imagehandler->getAttachmentIDs($this->view['data']['product_id']);
$arAttachmentID = $this->imagehandler->getAttachmentID($this->view['data']['product_key']);
$arAttachmentIndex = 0;
foreach ($arAttachmentIDsAll as $k => $v) if (intval($v) === intval($arAttachmentID)) $arAttachmentIndex = $k;
?>
<div class="wpsg_produkt_wrapper layout3">
<input type="hidden" name="wpsg_post_id" value="<?php echo get_the_ID(); ?>" />
<input type="hidden" name="titleDisplayed" value="<?php echo $this->titleDisplayed; ?>" />
<input type="hidden" name="wpsg[template]" value="standard3.phtml" />
<div class="col_wrap">
<div class="col image">
<div class="thumbnails">
<?php foreach ($arAttachmentIDsAll as $k => $image_id) { ?>
<?php echo \wp_get_attachment_image($image_id, 'small', false, [
'data-index' => $k
]); ?>
<?php } ?>
</div>
<div class="view">
<?php foreach ($arAttachmentIDsAll as $k => $image_id) { ?>
<a class="" id="<?php echo $this->getTemplateIndex(); ?>_<?php echo $k; ?>" data-fslightbox="<?php echo $this->getTemplateIndex(); ?>" href="<?php echo \wp_get_attachment_image_src($image_id, 'full')[0]; ?>"></a>
<?php } ?>
<div class="wpsg_product_slider">
<?php foreach ($arAttachmentIDsAll as $k => $image_id) { ?>
<div>
<div class="ds_image_zoom" data-image-index="<?php echo $k; ?>"
onclick="document.getElementById('<?php echo $this->getTemplateIndex(); ?>_<?php echo $k; ?>').click();"
>
<?php echo \wp_get_attachment_image($image_id, 'full', false, [
'data-index' => $k,
'data-src' => \wp_get_attachment_image_src($image_id, 'full')[0]
]); ?>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
<div>
<?php if (!$this->titleDisplayed) { ?>
<h1 itemprop="name" class="wpsg_producttitle"><?php echo $this->getProductName($this->view['data']['id']); ?></h1>
<h2 itemprop="detailname" class="wpsg_productdetailtitle"><?php echo $this->view['data']['detailname']; ?></h2>
<?php } ?>
<?php $this->callMods('product_top_afterheadline', array(&$this->view['data']['id'], $this->getTemplateIndex())); ?>
<?php $this->callMods('product_top', array(&$this->view['data']['id'], $this->getTemplateIndex())); ?>
<div itemscope itemtype="http://schema.org/Product" class="wpsg_produkt wpsg_produkt_<?php echo $this->view['data']['id']; ?>">
<?php if ($this->get_option('wpsg_showArticelnumber') == '1') { ?>
<div class="wpsg_artikelnummer">
<?php echo __('Artikelnummer', 'wpsg'); ?>: <span class="wpsg_anr"><?php echo wpsg_hspc($oProduct->getNr()); ?></span><br />
</div>
<?php } ?>
<?php $arProductCodes = $oProduct->getAllProductCodes(); ?>
<?php if (sizeof($arProductCodes) > 0) { ?>
<div class="product_code_wrap">
<?php foreach ($arProductCodes as $product_code) { ?>
<?php if ($product_code !== null) { ?>
<div class="product_code <?php echo $product_code['code_key']; ?>">
<span class="label"><?php echo $product_code['label']; ?></span>: <span class="code"><?php echo $product_code['code']; ?></span>
</div>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
<?php /* Abfrage Preisanzeige nur für eingeloggte User aktiv und User eingeloggt START*/ ?>
<?php if ($this->view['oProduct']->canDisplayPrice()) { ?>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="wpsg_produkt_preis">
<meta itemprop="priceCurrency" content="<?php echo $this->get_option('wpsg_currency'); ?>" />
<?php echo __('Stückpreis:', 'wpsg'); ?>
<?php $oldPrice = $this->view['oProduct']->getOldPrice(); ?>
<?php if ($oldPrice !== false && $oldPrice != $this->view['oProduct']->getPrice($this->view['data']['product_key'])) { ?>
<span class="wpsg_mod_productview_price wpsg_mod_productview_current"><?php echo wpsg_ff($this->view['oProduct']->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span>
<span class="wpsg_mod_productview_oldprice"><?php echo wpsg_ff($oldPrice, $this->get_option('wpsg_currency')); ?></span>
<?php } else { ?>
<span class="wpsg_mod_productview_price"><?php echo wpsg_ff($this->view['oProduct']->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span>
<?php } ?>
</div>
<?php if ($this->get_option('wpsg_kleinunternehmer')) { /* Kleinunternehmerregelung aktiviert START */ ?>
<div class="wpsg_produkt_preishinweis">
<?php echo wpsg_translate(__('#2# zzgl. #1#', 'wpsg'), '<a href="'.$this->getURL(wpsg_ShopController::URL_VERSANDKOSTEN).'">'.__('Versandkosten', 'wpsg').'</a>', '<a href="#kkhint" title="'.wpsg_hspc($this->get_option('wpsg_kleinunternehmer_text')).'">Endpreis</a>'); ?>
</div>
<?php } else { /* Kleinunternehmerregelung aktiviert ENDE */ ?>
<div class="wpsg_produkt_preishinweis">
<?php if ($this->getFrontendTaxview() == WPSG_NETTO) { /* Frontend = NETTO Preise */ ?>
<?php if ($this->hasMod('wpsg_mod_freeshipping') && $this->get_option('wpsg_mod_freeshipping_aktiv') == '1') { /* Versandkostenfrei aktiv */?>
<?php if ($this->get_option('wpsg_mod_freeshipping_minvalue') > 0) { ?>
<?php echo wpsg_translate(__('(zzgl. #1#% MwSt. und <a href="#3#">ab #2# € versandkostenfrei</a>)', 'wpsg'),
wpsg_ff($this->view['data']['mwst_value']),
wpsg_ff($this->get_option('wpsg_mod_freeshipping_minvalue')),
$this->getUrl(wpsg_ShopController::URL_VERSANDKOSTEN)
); ?>
<?php } else { ?>
<?php echo wpsg_translate(__('(zzgl. #1#% MwSt. und versandkostenfrei)', 'wpsg'), wpsg_ff($this->view['data']['mwst_value'])); ?>
<?php } ?>
<?php } else { ?>
<?php echo wpsg_translate(__('(zzgl. #1#% MwSt. und zzgl. #2#)', 'wpsg'), wpsg_ff($this->view['data']['mwst_value']), '<a href="'.$this->getURL(wpsg_ShopController::URL_VERSANDKOSTEN).'">'.__('Versandkosten', 'wpsg').'</a>'); ?>
<?php }?>
<?php } else { /* Frontend = BRUTTO Preise */ ?>
<?php if ($this->hasMod('wpsg_mod_freeshipping') && $this->get_option('wpsg_mod_freeshipping_aktiv') == '1') { /* Versandkostenfrei aktiv */ ?>
<?php if ($this->get_option('wpsg_mod_freeshipping_minvalue') > 0) { ?>
<?php echo wpsg_translate(__('(inkl. #1#% MwSt. und <a href="#3#">ab #2# € versandkostenfrei</a>)', 'wpsg'),
wpsg_ff($this->view['data']['mwst_value']),
wpsg_ff($this->get_option('wpsg_mod_freeshipping_minvalue')),
$this->getUrl(wpsg_ShopController::URL_VERSANDKOSTEN)
); ?>
<?php } else { ?>
<?php echo wpsg_translate(__('(inkl. #1#% MwSt. und versandkostenfrei)', 'wpsg'), wpsg_ff($this->view['data']['mwst_value'])); ?>
<?php } ?>
<?php } else { ?>
<?php echo wpsg_translate(__('(inkl. #1#% MwSt. und zzgl. #2#)', 'wpsg'), wpsg_ff($this->view['data']['mwst_value']), '<a href="'.$this->getURL(wpsg_ShopController::URL_VERSANDKOSTEN).'">'.__('Versandkosten', 'wpsg').'</a>'); ?>
<?php }?>
<?php } ?>
</div>
<?php } ?>
<?php } else {?>
<?php echo wpsg_translate(__('Die Produktpreise werden nur eingeloggten Benutzern angezeigt. Loggen Sie sich <a href="'.$this->getURL(wpsg_ShopController::URL_PROFIL).'">hier</a> bitte ein, um zu bestellen.')); ?>
<?php }?>
<?php /* Abfrage Preisanzeige nur für eingeloggte User aktiv und User eingeloggt ENDE */ ?>
<div class="wpsg_clear"></div>
<div itemprop="description" class="wpsg_produkt_shortdescription">
<span><?php echo $this->view['data']['shortdesc']; ?></span>
</div>
<?php /* Lagerbestand START*/?>
<?php if ($this->hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showProduct') == '1') { ?>
<div class="wpsg_mod_produktindex_stock">
<?php if (($this->view['data']['stock']) > '0') {?>
<label><?php echo __('Lagerbestand', 'wpsg'); ?></label>
<?php echo wpsg_translate(__('#1# Artikel auf Lager','wpsg'), $this->view['data']['stock']); ?>
<?php } else { ?>
<label><?php echo wpsg_translate(__('', 'wpsg')); ?></label>
<?php } ?>
</div>
<?php } ?>
<?php /* Lagerbestand ENDE*/?>
<?php /* Füllmengenanzeige START */ ?>
<?php echo $this->callMod('wpsg_mod_fuellmenge', 'renderPriceInfo', [$oProduct->getPrice($this->view['data']['product_key']), $this->view['data']['fmenge']??0, $oProduct->getId()]); ?>
<?php /* Füllmengenanzeige ENDE */ ?>
<?php /* Gewichtsanzeige START */ ?>
<?php if ($this->hasMod('wpsg_mod_weight') && $this->get_option('wpsg_mod_weight_showProduct') === '1') { ?>
<div class="wpsg_mod_weight_produkt">
<?php if (($this->view['data']['weight']) > '0') { ?>
<span class="label label_weight"><?php echo wpsg_translate(__('Gewicht:', 'wpsg')); ?></span>
<?php echo wpsg_translate(__('#1# #2#', 'wpsg'), '<span class="wpsg_weight" id="weight_'.$this->view['data']['id'].'">'.wpsg_ff($this->view['data']['weight']).'</span>', $this->get_option('wpsg_mod_weight_unit')); ?>
<?php } else { ?>
<label><?php wpsg_translate(__('', 'wpsg'))?></label>
<?php } ?>
</div>
<?php } ?>
<?php /* Gewichtsanzeige ENDE */ ?>
<?php /* Lieferzeit Anzeige START */ ?>
<?php if ($this->hasMod('wpsg_mod_deliverytime') && $this->get_option('wpsg_mod_deliverytime_show_product') == '1') { ?>
<?php /* Produkt nur im Store, nicht im Onlineshop vorhanden */ ?>
<?php if ($this->callMod('wpsg_mod_deliverytime', 'isStoreProduct', array($this->view['data']['product_key']))) { ?>
<div class="wpsg_product_only_store"><?php echo __($this->callMod('wpsg_mod_deliverytime', 'displayStoreText', array($this->view['data']['product_key']))); ?></div>
<?php $stl = 0; $stl = $this->callMod('wpsg_mod_deliverytime', 'displayStoreLink', array($this->view['data']['product_key'])) ?>
<?php if (wpsg_isSizedInt($stl)) { ?>
<a href="<?php echo get_permalink($stl); ?>"><?php echo __('So erreichen Sie uns.'); ?></a>
<?php } ?>
<?php } else { ?>
<?php $strDelayNote = $this->callMod('wpsg_mod_deliverytime', 'displayDelayTime', array($this->view['data']['product_key'])); ?>
<?php if (wpsg_isSizedString($strDelayNote)) { ?>
<div class="wpsg_mod_deliverytime_offline">
<div class="wpsg_mod_deliverytime_delay"><?php echo wpsg_hspc($strDelayNote); ?></div>
</div>
<?php } else { ?>
<div class="wpsg_mod_deliverytime">
<span class="label label_deliverytime"><?php echo wpsg_translate(__('Lieferzeit:', 'wpsg')); ?></span>
<?php echo $this->callMod('wpsg_mod_deliverytime', 'displayDeliveryTime', array($this->view['data']['product_key'])); ?>
</div>
<?php } ?>
<?php } ?>
<?php } ?>
<?php /* Lieferzeit Anzeige ENDE */ ?>
<?php /* Produktkurzbeschreibung START */ ?>
<div class="wpsg_product_informationarea">
<?php if (strlen(trim($this->view['data']['beschreibung'])) > 0) { ?>
<div class="wpsg_product_information_short">
<div class="wpsg_produkt_additional_information">
<div itemprop="description" class="wpsg_produkt_shortdescription">
<span><?php echo $this->view['data']['beschreibung']; ?></span>
</div>
</div>
</div>
<?php } ?>
</div>
<?php /* Produktkurzbeschreibung ENDE */ ?>
<?php /* Varianten START */ ?>
<div class="wpsg_produkt_varianten">
<?php echo $this->callMod('wpsg_mod_productvariants', 'renderTemplate', array($this->view['data']['product_key'])); ?>
</div>
<?php /* Varianten ENDE */ ?>
<?php $this->callMods('product_bottom', array(&$this->view['data']['product_key'], $this->getTemplateIndex())); ?>
<div class="wpsg_product_buttonarea">
<div class="wpsg_product_buttons_add_basket">
<?php if ($this->view['oProduct']->canOrder()) { ?>
<div class="wpsg_produkt_add_basket_wrapper">
<label class="wpsg_amount_label" for="wpsg_menge_<?php echo $this->getTemplateIndex(); ?>"><?php echo __('Anzahl', 'wpsg'); ?></label>
<input type="text" value="<?php echo ((wpsg_isSizedInt($this->view['data']['menge']))?$this->view['data']['menge']:'1'); ?>" name="wpsg[menge]" class="wpsg_menge" id="wpsg_menge_<?php echo $this->getTemplateIndex(); ?>" <?php echo (($this->view['data']['basket_multiple'] == 4)?' readonly="readonly" ':''); ?> />
<?php /* Urlaubsmodus aktiv */ ?>
<?php if ($this->hasMod('wpsg_mod_deliverytime') && ($this->get_option('wpsg_mod_deliverytime_holiday') == '1')) { ?>
<?php if ($this->callMod('wpsg_mod_deliverytime', 'holiday', array($this->view['data']['product_key']))) { ?>
<div class="wpsg_product_deliverytime_holiday" style="height:50px; padding:10px; width:50%; float:right; border:1px solid #ff0000;">
<?php echo __($this->callMod('wpsg_mod_deliverytime', 'displayHolidaytext', array($this->view['data']['product_key']))); ?>
</div>
<?php } ?>
<?php } else {?>
<input class="wpsg_button wpsg_add_basket wpsg_add_basket_<?php echo $this->getTemplateIndex(); ?>" type="submit" value="<?php echo __('In den Warenkorb', 'wpsg'); ?>" name="wpsg[submit]" />
<?php } ?>
<?php if (in_array($this->get_option('wpsg_afterinsert'), array('2', '3'))) { ?>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('.wpsg_add_basket_<?php echo $this->getTemplateIndex(); ?>').bind('click', function() {
wpsg_blockProductTemplate(<?php echo $this->getTemplateIndex(); ?>);
jQuery.ajax( {
url: '<?php echo $this->getURL(wpsg_ShopController::URL_BASKET); ?>',
data:
{
'wpsg_form_data': jQuery('#wpsg_produktform_<?php echo $this->getTemplateIndex(); ?>').serialize(),
'wpsg[ajax]': '1',
'wpsg[submit]': '1'
},
success: function(data)
{
wpsg_refreshBasketWidget();
<?php if ($this->get_option('wpsg_afterinsert') == '2') { ?>
tb_show('<?php echo __('Ihr Warenkorb', 'wpsg'); ?>', '<?php echo $this->getURL(wpsg_ShopController::URL_BASKET_AJAX); ?>&height=500');
<?php } else { ?>
wpsg_unblockProductTemplate(<?php echo $this->getTemplateIndex(); ?>);
jQuery('body').append(data);
<?php } ?>
}
} );
return false;
} );
} );
</script>
<?php } ?>
</div>
<?php } ?>
</div>
</div>
<div class="wpsg_clear"></div>
<?php if ($this->hasMod('wpsg_mod_request') && $this->callMod('wpsg_mod_request', 'isRequestProduct', array($this->view['data']['id']))) { ?>
<label class="wpsg_amount_label" for="wpsg_menge_<?php echo $this->getTemplateIndex(); ?>"><?php echo __('Anzahl', 'wpsg'); ?></label>
<input type="text" value="<?php echo ((wpsg_isSizedInt($this->view['data']['menge']))?$this->view['data']['menge']:'1'); ?>" name="wpsg[menge]" class="wpsg_menge" id="wpsg_menge_<?php echo $this->getTemplateIndex(); ?>" <?php echo (($this->view['data']['basket_multiple'] == 4)?' readonly="readonly" ':''); ?> />
<input class="wpsg_button wpsg_add_requestlist" id="wpsg_add_requestlist_<?php echo $this->getTemplateIndex(); ?>" type="submit" value="<?php echo __('Auf die Anfrageliste', 'wpsg'); ?>" name="wpsg[submit_request]" />
<?php } ?>
<?php /* Produktlangbeschreibung START */ ?>
<div class="wpsg_product_informationarea">
<?php if (strlen(trim($this->view['data']['longdescription'])) > 0) { ?>
<div class="wpsg_product_information_large">
<div class="wpsg_produkt_additional_information">
<div itemprop="description" class="wpsg_produkt_longdescription">
<span><?php echo $this->view['data']['longdescription']; ?></span>
</div>
</div>
</div>
<?php } ?>
</div>
<?php /* Produktlangbeschreibung ENDE */ ?>
<?php /* zusätzliche Informationen START */ ?>
<div class="wpsg_product_informationarea">
<?php if (strlen(trim($this->view['data']['moreinfos'])) > 0) { ?>
<div class="wpsg_product_information_large">
<div class="wpsg_produkt_additional_information">
<div itemprop="description" class="wpsg_produkt_moreinfos">
<span><?php echo $this->view['data']['moreinfos']; ?></span>
</div>
</div>
</div>
<?php } ?>
</div>
<?php /* zusätzliche Informationen ENDE */ ?>
<?php /* zusätzliche Lieferumfang START */ ?>
<div class="wpsg_product_informationarea">
<?php if (strlen(trim($this->view['data']['moreinfos2'])) > 0) { ?>
<div class="wpsg_product_information_large">
<div class="wpsg_produkt_additional_information">
<div itemprop="description" class="wpsg_produkt_moreinfos2">
<span><?php echo $this->view['data']['moreinfos2']; ?></span>
</div>
</div>
</div>
<?php } ?>
</div>
<?php /* zusätzliche Lieferumfang ENDE */ ?>
<div class="wpsg_clear"></div>
<?php /* Social Media Integration */ ?>
<div class="wpsg_product_social_media">
<?php if (is_plugin_active('plugin-directory/shariff.php')) {?>
<?php echo do_shortcode('[shariff]')?>
<?php } ?>
</div>
</div>
</div>
</div>
<?php if ($this->getTemplateIndex() === 1) { ?>
<link rel="stylesheet" href="<?php echo $this->getRessourceURL('css/tiny-slider.-2.9.4.min.css'); ?>">
<style>
.wpsg_produkt_wrapper.layout3 .col_wrap { display:flex; width:100%; justify-content:stretch; gap:1rem; flex-wrap:wrap; }
.wpsg_produkt_wrapper.layout3 .col_wrap > * { flex-grow:1; flex-shrink:0; width:100%; }
.wpsg_produkt_wrapper.layout3 .col_wrap > .col.image { display:flex; justify-content:stretch; gap:0.5rem; }
.wpsg_produkt_wrapper.layout3 .col_wrap > .col.image .thumbnails { width:20%; flex-shrink:0; }
.wpsg_produkt_wrapper.layout3 .col_wrap > .col.image .thumbnails img { aspect-ratio: 1 / 1; object-fit:cover; object-position:50% 50%; }
.wpsg_produkt_wrapper img { max-width:100%; height:auto; }
.ds_image_zoom.attached { position:relative; overflow:hidden; cursor:-webkit-zoom-in; cursor:zoom-in; }
.ds_image_zoom.attached img { all:initial; position:absolute; left:0; top:0; /* transition:width 0.3s, height 0.3s, left 0.3s, top 0.3s; */ }
@media screen and (min-width:993px) {
.wpsg_produkt_wrapper.layout3 .col_wrap { flex-wrap:nowrap; }
.wpsg_produkt_wrapper.layout3 .col_wrap > * { width:0; }
}
</style>
<?php } ?>
<?php if ($this->getTemplateIndex() === 1 && ($_REQUEST['action']??'') !== 'wpsg_productvariants_switch') { ?>
<script src="<?php echo $this->getRessourceURL('js/tiny-slider-2.9.2.min.js'); ?>"></script>
<script src="<?php echo $this->getRessourceURL('js/dsimagezoom.min.js'); ?>"></script>
<?php } ?>
<script>
if (!wpsg_standard3_slider) { var wpsg_standard3_slider = {}; }
if (!wpsg_standard3_load) {
function wpsg_standard3_load(templateIndex, imageIndex) {
if (wpsg_standard3_slider[templateIndex]) {
wpsg_standard3_slider[templateIndex] = wpsg_standard3_slider[templateIndex].rebuild();
} else {
wpsg_standard3_slider[templateIndex] = tns({
container: '#wpsg_produktform_' + templateIndex + ' .wpsg_product_slider',
items: 1,
slideBy: 1,
controls: false,
autoplayButton: false,
nav: false,
arrowKeys: false,
autoplayButtonOutput: false,
autoplay: false,
autoHeight: true,
onInit: () => {
}
});
}
wpsg_standard3_slider[templateIndex].events.on('transitionEnd', (event) => {
DsImageZoom.init(document.querySelectorAll('#wpsg_produktform_' + templateIndex + ' .tns-slide-active .ds_image_zoom'));
});
wpsg_standard3_slider[templateIndex].events.on('transitionStart', (event) => {
DsImageZoom.destroy(document.querySelectorAll('#wpsg_produktform_' + templateIndex + ' .tns-item .ds_image_zoom'));
});
for (const el_tn of document.querySelectorAll('#wpsg_produktform_' + templateIndex + ' .wpsg_produkt_wrapper.layout3 .thumbnails img')) {
el_tn.addEventListener('click', (event) => {
wpsg_standard3_slider[templateIndex].goTo(el_tn.getAttribute('data-index'));
});
}
wpsg_standard3_slider[templateIndex].goTo(imageIndex);
};
};
window.addEventListener('load', () => { wpsg_standard3_load(<?php echo $this->getTemplateIndex(); ?>, <?php echo $arAttachmentIndex; ?>); });
<?php if (($_REQUEST['action']??'') === 'wpsg_productvariants_switch') { ?>
window.setTimeout(() => {
wpsg_standard3_load(<?php echo $this->getTemplateIndex(); ?>, <?php echo $arAttachmentIndex; ?>);
}, 100);
<?php } ?>
</script>
</div>