menü + breadcrumb problémák, views és path aliasok esetén

andrew képe

Sziasztok!

A problémám elég összetett, igyekszem érthetően megfogalmazni.

Adott az event tartalom típus. "események" szótár hozzáadva, pathauto pedig esemenyek/[nid] útvonalon menti őket. Az "esemenyek" útvonalra alapból nem jön be semmi.

Adott az event_list view, ami teaser list -et csinál az összes event-ből, start_date > now szűrés esetén. Menüt csinál -> "események", útvonal-> esemenyek

Adott az event_archive view, ami teaser list-et csinál az összes eventből start_date < now szűrés esetén. Menüt csinál -> "archívum", útvonal -> esemenyek/archivum

Ez eddig ok.
Ha a két view által deklarált menüpontokat nézem, akkor minden rendben működik. Tehát az "esemenyek" útvonalra lenyílik az "események" menüpont. Az esemenyek/archivum útvonalra a breadcrumb kiegészül a szülő menüpont nevével és útvonalával.

de a törpök élete nem csak játék és mese... -> ha rákattintok egy eseményre ( esemenyek/123) akkor az "események" menüpont (amit a views hozott létre) nem nyílik le és a breadcrumb is csak a címlap -ot tartalmazza.

Tehát a kérdés: az elmondott esetben hogy valósítható meg az, hogy a breadcrumb az útvonalnak megfelelően jelenítse meg a "felsőbb" szinteket és az útvonalhoz tartozó views által generált menü is lenyíljon?

(drupal 5.3, views-5.x-1.6)

Köszi előre is.

Illyés Edit képe

Nem látom át az egészet, de összetettebb oldalon általában nem jó ötlet a Views modulban megadni menüpontokat. Szerintem próbáld létrehozni a nézeteket valamilyen útvonalon, és utólag vedd fel ezt az útvonalat a menübe a menü beállítási oldalon.

(Útvonalaknál hasonló eset: ha van rendszerútvonal, pl. taxonomy/term/x, akkor használjuk azt, és utólag írjuk felül Path modullal. Majd harmadik lépcsőben fel lehet venni egy, az álnévre mutató menüpontot a Menu modulllal.

Ha nincs rendszerútvonal, akkor lehet a Views-ban megadni tetszőleges álnevet. De én akkor is kézzel adom hozzá a menüpontot a Menu modullal, és akkor nincs kavarodás.)

0
0
andrew képe

evvel már próbálkoztam, de biztos ami biztos alapon újra eljátszottam...

sajnos ha kiveszem a menü megvalósítást a nézetekből és helyettük magam csinálom meg azokat menü adminisztrációval (tehát a két nézet elérési útvonala marad "esemenyek" ill. "esemenyek/archivum", a menüt pedig én építem fel hozzá szintén ilyen alárendeltségben) akkor ha az "esemenyek" útvonalon vagyok már le se nyílik a menü, így az "esemenyek/archivum" el sem érhető menün keresztül :(

ez a megoldás sajnos nem jó...

nyitott vagyok bármilyen ötletre!

Köszi!

szerk.: a zárójeles részt nem igazán tudtam feldolgozni :) megkérnélek, h próbáld meg mégegyszer leírni picit másként. nem világos, hogy ha mihhez van útvonal akkor mi és hogyan illetve ha mihez nincs akkor mi stb.

0
0
Illyés Edit képe

Hm. Próbáld meg kikapcsolni a Pathauto-t, és úgy létrehozni pár event tartalmat és a nézeteket az események, ill. események/archivum útvonalon. Ha úgy működik a dolog, akkor valahol a modulok súlyozásával kellene egy kicsit játszani (bár ez elég veszélyes tud lenni).

Alapvetően az a gond a Views modullal, hogy ha egyszer létrehozol Views-ban egy "esemenyek" útvonalat, akkor ő innentől kezdve úgy tekinti, hogy minden események/xxx útvonalon lévő oldal az ő felségterülete (ahol az xxx az esemenyek nézet argumentuma, ami alapján neki további szűrni-listáznivalója van) tehát rácsimpaszkodik az útvonalra akkor is, ha ott nem is nézet van, hanem csak egy sima node esemenyek/123 címen. Ezért aztán szépen összeakad a Pathauto-val.

Én valahogy így kezdenék hozzá:

  • Esemény típusú node (Pathauto-val): esemeny/123
  • Összes esemény típusú node egyszerű listában (view): esemenyek
  • Aktuális események: esemenyek/aktualis
  • Lejárt szavatosságú események: esemenyek/archivum

Ezek után már csak az esemeny/123 megtekintésekor kell aktiválni az esemenyek menüpontját, ill. az aktuális v. archív almenüpontot – sminkben a node adatoktól függően rájuk tenni az active stílust (quick&dirty megoldás, vagy lehet menünek álcázott PHP-kódos blokkot készíteni, vagy modult fejleszteni rá, vagy újraírni a Menu modult...).

(Ha van rendszerútvonal = ha valamilyen meglévő listát akarsz felülírni, pl. a taxonomy/term/x oldalt akarod átrendezni. Ilyenkor jobb megoldás taxonomy/term/x-et írni a nézet útvonalának, és utólag adni meg az útvonal álnevet Path modullal. Ha nincs rendszerútvonal = ha teljesen új listát készítesz, akkor kedved szerint adhatsz útvonalnevet. (Nálad most gondolom ez az eset forog fenn.) Az egészet csak példának hoztam fel arra, hogy időnként nem jó ötlet hagyni, hogy a Views mindenbe beleavatkozzon – inkább amit lehet, azt core eszközökkel végezzük, és kevesebb lesz a probléma.)

0
0
andrew képe

köszönöm a segítséget, sajnos úgy néz ki csak holnap lesz módom kipróbálni!

mindenkép referálok! :)

0
0
andrew képe

végül többszöri nekifutás és mindenféle heggesztés után inkább megkerültem az általad említett módon a dolgot... amúgy smink és css ügyeskedéssel kivitelezhető a dolog, de összességében nem érte meg és talán jobb is ez az egész nélkül...

szóval más más útvonalon van a lista és a node path alias.

köszönöm az útmutatásokat!

0
0