# Smarty schleife für Kürzen

**URL:** <https://forum.shopware.com/t/smarty-schleife-fur-kurzen/64367>\
**Category:** Sonstiges\
**Created:** [30. Januar 2020 um 14:45 UTC](https://forum.shopware.com/t/smarty-schleife-fur-kurzen/64367 "2020-01-30T14:45:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![werkzeugdiscount24](https://avatars.discourse-cdn.com/v4/letter/w/4da419/32.png) [@werkzeugdiscount24](https://forum.shopware.com/u/werkzeugdiscount24)\
**Post date:** [30. Januar 2020 um 14:45 UTC](https://forum.shopware.com/t/smarty-schleife-fur-kurzen/64367/1 "2020-01-30T14:45:51Z")

</div>

Hallo Community,

ich habe da mal eine Frage zum Kürzen mit Smarty variablen. Ich habe eine Variable dir mir folgendes ausgibt:

Test1|Testziel2|Test1|Teststart3|Test2|Testwert4 jetzte möchte ich diese Variable so kürzen das nur das nach der letzten Pipe stehen bleibt

**truncate** nimmt die Zeichen von hinten weg. Damit komme ich nicht ans ziel.  
Mit **substr** bekomme ich auch nicht das ergebnis.&nbsp;

Hat jemand eine Idee wie cih das umsetzen kann.

Vielen Dank

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [30. Januar 2020 um 14:56 UTC](https://forum.shopware.com/t/smarty-schleife-fur-kurzen/64367/2 "2020-01-30T14:56:10Z")

</div>

Angenommen, Deine Zeichenkette liegt in der Variablen $meinstring, dann bekommst Du mit

```
{assign var="mParamList" value="|"|@explode:$meinstring}

```

in der Var $mParamList ein Array mit den Teilstrings.  
Wenn der Wert fest “4” ist, müsstest Du den Wert mit $mParamList[3] bekommen.  
Andernfalls müsstest Du ggf. mit $mParamList|@count die Größe vom Array ermitteln, um dann mit “größe - 1” auf das Array zugreifen.

Ungetestet evtl.:  
&nbsp;

```
{assign var="mParamList" value="|"|@explode:$meinstring}
{assign var="elements" value=$mParamList|@count}

{$mParamList[$elements - 1]}

```

Oder BruteForce mit foreach durch das Array iterieren&nbsp; ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")

---

<div class="post-metadata">

**Author:** ![Shopwareianer](https://avatars.discourse-cdn.com/v4/letter/s/b4bc9f/32.png) [@Shopwareianer](https://forum.shopware.com/u/Shopwareianer)\
**Post date:** [30. Januar 2020 um 18:49 UTC](https://forum.shopware.com/t/smarty-schleife-fur-kurzen/64367/3 "2020-01-30T18:49:45Z")

</div>

Ich denke das sollte deine Frage beantworten:&nbsp;[https://stackoverflow.com/questions/4389978/smarty-getting-substring-of-a-var-with-strpos-as-start-and-strlen-as-end](https://stackoverflow.com/questions/4389978/smarty-getting-substring-of-a-var-with-strpos-as-start-and-strlen-as-end)
