簡體   English   中英

Magento 在分層導航中獲取選定的過濾器

[英]Magento Get Selected Filter In Layered Navigation

在 Magento 中,如果在分層導航中選擇“顏色”屬性,“顏色”的值會自動消失並顯示結果。如何檢索所選過濾器的名稱?

所有應用的過濾器都存儲在圖層狀態對象中。 您可以使用以下代碼段輕松檢索它們:

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();

它將返回一組過濾器項目對象。 您可以通過執行以下操作來檢索單個過濾器項的名稱和應用值:

foreach ($appliedFilters as $item) {
    $item->getName(); // Name of the filter
    $item->getLabel(); // Currently selected value
    $item->getFilter()->getRequestVar(); // Filter code (usually attribute code, except category filter, where it equals "cat")
}

您可以通過此代碼獲取過濾器的屬性代碼或 id:

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
foreach ($appliedFilters as $item) {
    echo $item->getFilter()->getAttributeModel()->getAttributeId();
    echo $item->getFilter()->getAttributeModel()->getAttributeCode();
}

在 Magento 2 中: $this->getLayer()->getState()->getData("filters")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM