He iedereen,
Ik weet niet of hier mensen zitten die ook ervaring hebben met magento maar ik kan het op z'n minst voorleggen aan jullie, namelijk het volgende :):
Ik ben de layered filter navigatie aan het customizen maar zit nu even behoorlijk vast.
Wat mijn bedoeling is om het filter menu zo om te bouwen dat de gekozen filters niet boven aan komen staan als ze geselecteerd zijn (want dan verdwijnen ze tussen de opties). Nee ik wil dat er dan gewoon een vinkje voor de items komen te staan die geselecteerd zijn en dan als je er nogmaals op klikt ze weer unselected worden.
tot zo ver geen probleem maar nu vraag ik me af waar zit in de core (Mage) ergens de check om te kijken of een bepaalde filter is geselecteerd?
Bijv. deze code haalt alle filters actieve filters op in State.php:
Dat is totaal duidelijk maar hoe checkt hij nu of ze actief zijn? Waar is de functie getState ergens gedeclareerd? Want dus in View.php worden de filters ook opgehaald maar dan die niet geselecteerd zijn, maar ik zie nergens waar dat dus gecheckt wordt of de filters actief zijn?!
Dit is de code voor alle filters op te halen (die dus niet actief zijn) in View.php
Maar ik kan nergens vinden waar gecheckt wordt wat de status is van een filter (actief of niet actief, dus als de filter actief is komt hij niet in view.phtml maar in state.phtml)
Misschien ben ik een beetje onduidelijk in wat ik bedoel, maar ik hoop dat iemand het snapt en me verder kan helpen
?!
Thnx!!
Ik weet niet of hier mensen zitten die ook ervaring hebben met magento maar ik kan het op z'n minst voorleggen aan jullie, namelijk het volgende :):
Ik ben de layered filter navigatie aan het customizen maar zit nu even behoorlijk vast.
Wat mijn bedoeling is om het filter menu zo om te bouwen dat de gekozen filters niet boven aan komen staan als ze geselecteerd zijn (want dan verdwijnen ze tussen de opties). Nee ik wil dat er dan gewoon een vinkje voor de items komen te staan die geselecteerd zijn en dan als je er nogmaals op klikt ze weer unselected worden.
tot zo ver geen probleem maar nu vraag ik me af waar zit in de core (Mage) ergens de check om te kijken of een bepaalde filter is geselecteerd?
Bijv. deze code haalt alle filters actieve filters op in State.php:
code:
1
2
3
4
5
6
7
8
9
| public function getActiveFilters() { $filters = $this->getLayer()->getState()->getFilters(); if (!is_array($filters)) { $filters = array(); } return $filters; } |
Dat is totaal duidelijk maar hoe checkt hij nu of ze actief zijn? Waar is de functie getState ergens gedeclareerd? Want dus in View.php worden de filters ook opgehaald maar dan die niet geselecteerd zijn, maar ik zie nergens waar dat dus gecheckt wordt of de filters actief zijn?!
Dit is de code voor alle filters op te halen (die dus niet actief zijn) in View.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| public function getFilters() { $filters = array(); if ($categoryFilter = $this->_getCategoryFilter()) { $filters[] = $categoryFilter; } $filterableAttributes = $this->_getFilterableAttributes(); foreach ($filterableAttributes as $attribute) { $filters[] = $this->getChild($attribute->getAttributeCode().\'_filter\'); } return $filters; } |
Maar ik kan nergens vinden waar gecheckt wordt wat de status is van een filter (actief of niet actief, dus als de filter actief is komt hij niet in view.phtml maar in state.phtml)
Misschien ben ik een beetje onduidelijk in wat ik bedoel, maar ik hoop dat iemand het snapt en me verder kan helpen
Thnx!!