Views, dynamic filter

gybeni72 képe

Szia Mindenki!



Elöljáróban megjegyezném, hogy nem vagyok nagy drupal guru. A munkahelyemen szeretném bevezetni a drupal-t. Ennek első lépéseként egy termék katalógust szeretnék készíteni. Körül jártam a kérdéskört és a CCK és VIEWS modul mellett döntöttem, remélem nem rosszul. Csináltam egy új tartalom típust, amelyre felvettem a termékeink adatait reprezentáló mezőket. Továbbá készítettem egy termék-csoport tartalom típust, amelyen a csoportra jellemző adatokat jelenítettem meg. A típust egy referencia mezővel kapcsoltam össze. A kapcsolatra jellemző, hogy egy termék csak 1 csoportba tartozhat és egy csoportban több termék is megjelenhet. Az elképzelésem az volt, hogy menüpontokat hozok létre amelyek egy nézetet szólongatnak és annak adnak át paraméterként egy csoport azonosítót. Ez alapján a nézet egy dinamikus szűrőt hozna létre és az argumentumként átadott csoportnak megfelelő termékeket listázná ki. A szükséges filtereket elkészítettem és le is tudom kérdezni. Ezt ki tudtam bogarászni az oldal forrásából. Viszont filter értékének a beállításánál nem magát a termékcsoportot kell megadnom, hanem egy számot amelyet az options value tartalmaz. ($view->filter[1]['value'][0] = 6 vagy 5 vagy 4 ... ) Nem látom, hogy hogyan tudnám a számokat (2,4,5,6) és a termékcsoportokat (11000, 12000, ..., stb) összepárosítani. Biztosan meg lehet csinálni, csak én még kevés vagyok ehhez. Ha valaki tudna nekem segíteni. Sokat keresgéltem a neten, de vagy nem értettem meg amit olvastam, vagy egyszerűen nem találtam erre a problémára megoldást?! Szóval ha tudna valaki segíteni, legalább is egy helyes irányt megmutatni, azt nagyon megköszönném.

Argument Handling Code:
//$view->argument[0]['title'] .= count($view->filter)." - ".$args[0]." - ".$view->filter[1]['value'][0];
$view->filter[1]['value'][0] = 6 vagy 5 vagy 4 ...
$view->is_cacheable = 0;

html forrás -> szűrő definíció ide vágó része:
select name="filter[1][value][]" multiple="multiple" class="form-select" id="edit-filter-1-value" size="5">
option value="0" selected="selected"><empty>
option value="3">11000
option value="4">12000
option value="5">13000
option value="6">31000
/select>

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
gybeni72 képe

Biztosan nagyon bután fogalmaztam!!! :(

Szóval arra már sikerült rájönni, hogy az option value az a nid, de azt még mindig nem látom, hogy az Argument Handling Code mezőben hogyan lehet ezt a két értéket összepárosítani.

0
0
Pasqualle képe

ok, megprobalom megerteni amit leirtal

node type 1: termek_tipus

---
node type 2: termek
cck node reference: field_termek_tipus
> Widget type: Select list
> Content types that can be referenced: Termék típus

---
view:
View type: node

Filters:
node type: termek

Arguments:
node: field_termek_tipus

Page Path:
cuccok
---

ha menut akarsz akkor nem ertem a problemat:
mert tegyuk fel 3 termek tipusod van aminek a node ID-je pl 42, 58, 63
akkor cuccok/42. cuccok/58 es cuccok/63 oldalakon megvannak a termekek temek tipusonkent csoportositva, ugyhogy csak el kell keszitened a menu pontokat..

a view argument mar onmagaban egy filter, nem kell kulon filtert letrehozni a termek tipus node IDre..
---

ha nem menut akarsz, hanem egy oldalt ahol a felhasznalo valaszthatja ki a termek tipust
akkor az argumentum nem kell, helyette egy
view filter:
node: field_termek_tipus
exposed
---

0
0
gybeni72 képe

Köszönöm szépen a segítséget. Teljesen jól látod a dolgot. Egy fontos dolgot tanultam "a view argument mar onmagaban egy filter, nem kell külön filtert letrehozni a termek tipus node IDre.." Ez sokat segített, de még mindig nem érzem teljesnek a megoldást. Pompásan működnek a menüjeim ha nid-et adok meg paraméterként. De mi történik, ha valaki letöröl egy termék típust és újra létrehozza? Akkor a nid-je más lesz, és a menüt újra kell szerkeszteni! Vagy?
Olyan megoldást keresek, ahol a megadott galéria azonosítót, amelyet a felhasználó ad meg, lehetne paraméterként megadni és valami rutin ebből legenerálja az nid-et.

0
0
Pasqualle képe

csinalj egy viewt a termek tipusokra es azt tedd bele egy blokkba (a menu helyett).. akkor ha torolnek, atirnak egy termek tipust akkor is meglesz az egesz termek tipus listad..

persze a viewt sminkelni kell, hogy a cuccok/$nid re mutasson a link..

0
0
gybeni72 képe

Ezt a megoldást kerestem. Nagyon köszönöm!

0
0