[英]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.