Hallo Zusammen,
ich verwende das Theme Brooklyn, in der Version 15.2.0.
“Price per unit” bzw. “Preis pro Einheit”, wie in dem Manual beschrieben, ist dieser Version schon integriert. Allerdings mit einer Abweichung, aber dazu später mehr.
Das Manual:
https://help.shopify.com/de/manual/intro-to-shopify/initial-setup/sell-in-germany/price-per-unit
Die Ausgabe in Forntend ist unvollständig und wird nicht angezeigt.
https://arndmesser.de/collections/bioland-honig/products/bioland-rapshonig
Im Backend ist folgendes konfiguriert:
Im Frontend fehlt die Unit-Bezeichnung “100g”:
<div class="product-single__unit">
<span class="product-unit-price">
<span class="visually-hidden">Stückpreis</span>
<span data-unit-price="">€1,74</span>
<span aria-hidden="true">/</span>
<span class="visually-hidden"> pro </span>
<span data-unit-price-base-unit=""></span>
</span>
</div>
Ausserdem ist das entsprechende DOM-Element “ausgeblendet”:
.product-single__unit {
display: none;
}
Ich hab den Code aus dem Manual flüchtig verglichen, um die Integration zu checken. Dabei ist mir folgendes aufgefallen:
Der Code in der Datei theme.js.liquid
if (variant.unit_price) {
var $unitPrice = $(this.selectors.unitPrice, this.$container);
var $unitPriceBaseUnit = $(
this.selectors.unitPriceBaseUnit,
this.$container
);
$unitPrice.html(
theme.Currency.formatMoney(variant.unit_price, moneyFormat)
);
$unitPriceBaseUnit.html(this.getBaseUnit(variant));
$(this.selectors.priceContainer, this.$container).addClass(
this.classes.priceContainerUnitAvailable
);
}
Der Code wie er laut Manual sein sollte:
if (variant.unit_price_measurement) {
var $unitPrice = $(this.selectors.unitPrice, this.$container);
var $unitPriceBaseUnit = $(
this.selectors.unitPriceBaseUnit,
this.$container
);
$unitPrice.html(
theme.Currency.formatMoney(variant.unit_price, moneyFormat)
);
$unitPriceBaseUnit.html(this.getBaseUnit(variant));
$(this.selectors.priceContainer, this.$container).addClass(
'price-container--unit-available'
);
}
console.log() wurde in beiden Code-Blöcke nicht ausgeführt.
Ich bin etwas ratlos.
Eventuell habe ich auch etwas übersehen, deswegen suche ich hier Hilfe.
Was könnte die korrekte Ausgabe des Unit-Price im Frontend verhindern?
Grüße,
Arnd
