# Produkt Limit auf der Artikel Detailseite dynamisch ändern

**URL:** <https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319>\
**Category:** Programmierung\
**Created:** [29. Juni 2023 um 13:42 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319 "2023-06-29T13:42:54Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![digital-touched](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@digital-touched](https://forum.shopware.com/u/digital-touched)\
**Post date:** [29. Juni 2023 um 13:42 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/1 "2023-06-29T13:42:54Z")

</div>

Hallo liebe Community,

im Backend gibt es ja die Möglichkeit unter den Einstellungen → Produkte die Anzahl der angezeigten Artikel einzustellen.

Ich wollte jetzt ein paar Boxen - Werbung einfügen, über die twig.  
Soweit so gut.  
Allerdings passt dann die eingestellte Anzahl - Beispiel „8“ nicht mehr wenn ich eine oder 2 „Artikel“ hinzufüge. Es bleiben Lücken am unteren Rand.

Brauche ich dafür einen Subscriber?  
Oder wie bekomme ich es hin dass die Anzahl der Artikel dynamisch variabel sind.

Ich müßte also in der Lage sein das im Backend eingestellte Limit „8“ dynamisch zu ändern.

Wäre schön wenn mir da jemand helfen könnte.

L.G.

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [30. Juni 2023 um 04:10 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/2 "2023-06-30T04:10:02Z")

</div>

> [@digital-touched](#):
>
> Brauche ich dafür einen Subscriber?

Ja, im Listing-Criteria das Limit anpassen:

```php
public static function getSubscribedEvents(): array
{
    return [
        ProductListingCriteriaEvent::class => 'updateProductListingCriteriaLimit',
    ];
}

public function updateProductListingCriteriaLimit($event)
{
    $limit = $event->getCriteria()->getLimit() - 1; // einen Artikel weniger als aktuell eingestellt
    $event->getCriteria()->setLimit($limit);
}

```

---

<div class="post-metadata">

**Author:** ![digital-touched](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@digital-touched](https://forum.shopware.com/u/digital-touched)\
**Post date:** [30. Juni 2023 um 06:22 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/3 "2023-06-30T06:22:54Z")

</div>

Ich bin wirklich sehr dankbar für die Hilfe.  
Hat wunderbar funktioiert.

VIELEN DANK! 👌 👍

---

<div class="post-metadata">

**Author:** ![digital-touched](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@digital-touched](https://forum.shopware.com/u/digital-touched)\
**Post date:** [30. Juni 2023 um 07:48 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/4 "2023-06-30T07:48:15Z")

</div>

Noch eine kurze Frage:

Ich benötige eine globale Variable die in jeder Function verfügbar ist, ungefähr so.

Private int $myVariable:

Function1 {  
$this-\>$myVariable = 5;  
}

Function2 {  
echo $this-\>$myVariable;  
}

funktioniert aber leider nicht.

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [30. Juni 2023 um 07:57 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/5 "2023-06-30T07:57:55Z")

</div>

Da ist vermutlich eine Plugin-Config-Variable am sinnvollsten:

> **[Use plugin configuration](https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/use-plugin-configuration)**

---

<div class="post-metadata">

**Author:** ![harzzer](https://avatars.discourse-cdn.com/v4/letter/h/6de8d8/32.png) [@harzzer](https://forum.shopware.com/u/harzzer)\
**Post date:** [30. Juni 2023 um 08:51 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/6 "2023-06-30T08:51:51Z")

</div>

Das ist eine einfache und geniale Idee😀

Noch mal vielen Dank.  
Hätte aber nicht gedacht das es so kompliziert ist, mit einer globalen Variable

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [30. Juni 2023 um 09:21 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/7 "2023-06-30T09:21:09Z")

</div>

Ist es nicht, du kannst z.B. auch in deiner Plugin.php eine Konstante definieren:

```php
namespace My\CustomPlugin;

class CustomPlugin extends Plugin
{
    const MY_VARIABLE = 5;
    // ...
}

```

Und dann über Namespace darauf zugreifen:

```auto
$criteria->setLimit(My\CustomPlugin\CustomPlugin::MY_VARIABLE);

```

---

<div class="post-metadata">

**Author:** ![harzzer](https://avatars.discourse-cdn.com/v4/letter/h/6de8d8/32.png) [@harzzer](https://forum.shopware.com/u/harzzer)\
**Post date:** [30. Juni 2023 um 10:01 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/8 "2023-06-30T10:01:12Z")

</div>

Danke das wusste ich schon

Gut dann machen wir es komplizierter😁

Ich lege ein Zusatzfeld in den Kategorien an, mit einem Bool Wert, also an und aus.

Ist das Zusatzfeld - nennen wir es „custom\_einschalter“ - eingeschaltet dann limit - 1, ansonsten reguläre Limit. Gut die Bedingung kann ich programmieren, abrr in Verbindung mit dem Zusatzgriff.

Bitte, wenn das möglich ist, eine letzte Hilfe.😇

---

<div class="post-metadata">

**Author:** ![harzzer](https://avatars.discourse-cdn.com/v4/letter/h/6de8d8/32.png) [@harzzer](https://forum.shopware.com/u/harzzer)\
**Post date:** [1. Juli 2023 um 06:08 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/9 "2023-07-01T06:08:29Z")

</div>

Hallo AlexGalax,

Dein Tip mit dem Limit, so das ein Artikel weniger angezeigt wird geht so leider nicht!  
Denn es wird wirklich ein Artikel WENIGER angezeigt.

Somit verschwindet immer ein Artikel, wenn ich „limit -1“ nutze.  
Mache ich „limit -2“ verschwinden 2 Artikel.

Wie kann ich das Problem lösen?

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [3. Juli 2023 um 03:20 UTC](https://forum.shopware.com/t/produkt-limit-auf-der-artikel-detailseite-dynamisch-aendern/100319/10 "2023-07-03T03:20:41Z")

</div>

> [@harzzer](#):
>
> Dein Tip mit dem Limit, so das ein Artikel weniger angezeigt wird geht so leider nicht!  
> Denn es wird wirklich ein Artikel WENIGER angezeigt.

Hä?

Du kannst ja bei Limit eintragen was du willst. War ja nur ein Beispiel, wie man einen Artikel weniger macht.
