Hallo,
ich habe auf unserer Seite einen Abschnitt, in dem ich die derzeitig im Warenkorb abgelegten Artikel aufzähle.
Da hierbei nur eine bestimmte Breite zur Verfügung steht, kürze ich die Ausgabe, falls erforderlich, und hänge drei Punkte als Auslassungszeichen an.
Desweiteren kennzeichne ich Artikel, die nur an Personen ab 18 verkauft werden dürfen, im Artikelnamen mit der Raute, die bei der Ausgabe natürlich nicht angezeigt werden soll.
Hier der relevante Code:
if (isset ($_SESSION["Warenkorb"]))
{
$w = count ($_SESSION["Warenkorb"]);
for ($x = 0; $x < $w; $x++)
{
if (substr ($_SESSION["Warenkorb"][$x]["Artikel"], 0, 1) == "#")
$Artikel = '<span class="Ab18">' . $_SESSION["Warenkorb"][$x]["Menge"] . "x " . substr ($_SESSION["Warenkorb"][$x]["Artikel"], 1, strlen ($_SESSION["Warenkorb"][$x]["Artikel"])) . "</span>";
else
$Artikel = $_SESSION["Warenkorb"][$x]["Menge"] . "x " . $_SESSION["Warenkorb"][$x]["Artikel"];
if (strlen ($Artikel) > 22)
{
if (substr ($Artikel, 22, 1) == " ")
$Laenge = 19;
else
$Laenge = 20;
}
else
$Laenge = strlen ($Artikel);
echo '<a class="Liste">' . substr ($Artikel, 0, $Laenge) . "..." . "</a>";
if ($x < $w - 1)
echo "<br>";
}
}
Was ich jetzt aber nicht verstehe, ist, dass mir Artikel mit dem Kennzeichen "#" im Artikelnamen nur mit der Menge als Zahl, aber ohne das "x", sowie den drei Punkten, angezeigt werden, beispielsweise "1...", alle anderen Artikel hingegen vollständig in der gekürzten Form, beispielsweise "1x Mit Eisenplatten ...".
Wo liegt der Fehler?
Vielen Dank für eure Hilfe und Gruß,
Enrico