So lassen Sie die Produkteinstellungen pro Page auf Pageload auf Standardeinstellung zurücksetzen

magento.stackexchange https://magento.stackexchange.com/questions/15455

  •  16-10-2019
  •  | 
  •  

Frage

Ich habe versucht, GetLimit () in der Datei mage_catalog_block_product_list_toolbar zu ändern, aber das schien nichts zu ändern. Ist das überhaupt möglich?

War es hilfreich?

Lösung

Dies erreicht möglicherweise nicht das, was Sie wollen, aber es ist erwähnenswert: Sie können die "Auswendiglernen" der Produktlisten -Symbolleistenparameter deaktivieren, indem Sie die folgende Methode aufrufen:

Mage_Catalog_Block_Product_List_Toolbar::disableParamsMemorizing()

Oder über Layout XML können Sie den Symbolleistenblock Ihres Kategoriegriffs wie folgt aktualisieren:

<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
    <action method="disableParamsMemorizing"></action>
    <block type="page/html_pager" name="product_list_toolbar_pager"/>
    <!-- The following code shows how to set your own pager increments -->
    <!--
        <action method="setDefaultListPerPage"><limit>4</limit></action>
        <action method="setDefaultGridPerPage"><limit>9</limit></action>
        <action method="addPagerLimit"><mode>list</mode><limit>2</limit></action>
        <action method="addPagerLimit"><mode>list</mode><limit>4</limit></action>
        <action method="addPagerLimit"><mode>list</mode><limit>6</limit></action>
        <action method="addPagerLimit"><mode>list</mode><limit>8</limit></action>
        <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
    -->
</block>

Beachten Sie, dass ich das hinzugefügt habe <action> Knoten mit einem Anruf an die disableParamsMemorizing Methode.

Dadurch wird verhindert, dass die Symbolleistenparamente des Benutzers in ihrer Sitzung gespeichert werden, und setzt sie jedes Mal zurück, wenn sie die Seite laden, sofern er nicht den Param in einer Abfragezeichenfolge enthält. Denken Sie daran, dass dies "vergessen" wird ALLE Symbolleiste Params:

  1. Sortierreihenfolge
  2. sort_direction
  3. Anzeigemodus
  4. limit_page

Sie können dies auch per Kategorie über Layout-Updates im Magento-Administrator anwenden.

Andere Tipps

Es scheint, als ob Sie die Methode wie folgt umgeschrieben hätten, würde sie das tun, was Sie wollen:

public function getLimit()
{
    $limit = $this->_getData('_current_limit');
    if ($limit) {
        return $limit;
    }
    $limit = $this->getRequest()->getParam($this->getLimitVarName(), $this->getDefaultPerPageValue());

    $this->setData('_current_limit', $limit);
    return $limit;
}

Was ich hier getan habe, ist, die Bedingungen zu entfernen, unter denen die Grenzwerte aus der Katalogsitzung festgelegt/abgerufen werden. Dies bedeutet, dass, wenn das Limit in der QueryString festgelegt ist, sie ihm jedoch nicht in der Sitzung speichert, sodass es nur die Grenze für diejenigen anwendet, die den Dropdown-Wert produzieren-pro Seite ändern- Nicht für ihre Rückkehrbesuche wo sie wahrscheinlich eine Kategorie -Seite durchsuchen, indem sie die Website oder durch organische Suche durchsuchen.

Wenn der Grenzwert nicht im QueryString festgelegt wurde, ist standardmäßig der in der Konfiguration festgelegte Wert festgelegt.

Viel Glück!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top