Produkt Limit auf der Artikel Detailseite dynamisch ändern

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.

Ja, im Listing-Criteria das Limit anpassen:

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);
}

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

VIELEN DANK! :ok_hand: :+1:

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.

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

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

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

namespace My\CustomPlugin;

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

Und dann über Namespace darauf zugreifen:

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

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.:innocent:

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?

Hä?

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