Da manche Produkte im Shop mehr als einer Kategorie zugeordnet sind, aber dieselbe Artikelnummer haben, kann man in der Bestellung anhand der Artikelnummer nicht sehen, aus welcher Kategorie das Produkt denn bestellt wurde.
Da mir keine andere Lösung einfäll, dachte ich, man kann vielleicht anhand der URL bzw. des Alias der Produktseite einen Wert generieren.
Also hatte ich mir folgenden Code ausgedacht der abernicht das gewünschte Ergebnis bringt. Genau gesagt es wird gar nicht ausgegeben.
PHP-Code:
<?php
$pagealias = "{{page::alias}}";
$skuaddon = "";
if (str_contains($pagealias, 'shop/hochdach')) {
$skuaddon = "HD";
}
if (str_contains($pagealias, 'shop/aufstelldach')) {
$skuaddon = "AD bis 2024";
}
if (str_contains($pagealias, 'shop/aufstelldach-24')) {
$skuaddon = "AD ab 2024";
}
echo $skuaddon;
?>
Diese PHP-Datei wird per Insert-Tag in das Template eingebaut, was für die Produktdetailseite verwendet wird und soll den Wert dann dort anzeigen und auch weiter verwendet werden.
Warum wird auf der Seite dann aber nichts ausgegeben? Was übersehe ich denn da? Ist das komplett falsch gedacht oder programmiert?
Ich dachte, die Funktion str_contains() prüft, ob der gesuchte String vorhanden ist. Mit testhalber "echo $pagealias" wird mir was ausgegeben. Wenn auch nicht der gesamte Alias der Seite, sondern nur beispielsweise "shop/hochdach". Alles sehr merkwürdig ...
Oder gibt es da bessere und/oder einfachere Möglichkeiten?