Komplexebb menürendszer/oldalfelépítés

d.pryke képe

Sziasztok!
hogyan oldanátok meg ezt a kérdést:
olyan oldalra van szükség, aminek a nyitólapján (főmenüjében) a felhasználónak ki kell választani, hogy ő most A vagy B vagy C típusu látogató (pl egy oktatási intézmény weblapján ő most "diák", "tanár" vagy "érdeklődő") és miután valamelyik lehetőséget választotta, más menüt és tartalmat kell megjeleníteni neki. (diákoknak iskolai hírek, időpontok, tanárnak tanári gyűlések, belső események). Minden tartalom publikus, és regisztráció nélkül kell, hogy megtekinthető legyen. (regisztrációval meg lehetne különböztetni a felhazsnálókat, de ez itt most nem ok.)
3 druplal felhúzásával meg tudnám oldani de ez nem jó megoldás, tudtok jobbat?
köszi előre is.

Fórum: 
RaptoR képe

Nem kell 3 Drupalt felhúzni, elég 1-et a többit pedig multisite módon hozzárakni, szerintem ez a legkényelmesebb módszer. Van hozzá modul is itt, szóval böngészőben klikkelgetve is meg lehet oldani. Elég azokat a táblákat többszörözni, amikben változik a tartalom (menük, blokkok stb.).

Másik megoldás lehet az Organic Groups modulcsoport, de ezekben nincs még tapasztalatom, így csak a kipróbálásukra tudok javaslatot tenni. :)

0
0
Illyés Edit képe

Ha csak a menürendszer és a tartalom változik, akkor jórészt a Drupal alapcsomag eszközeivel (útvonal álnevek, álnévtől függően megjelenítendő/elrejtendő blokkok és menük, taxonómia) + Views modullal megoldható.

Tehát a honlapneve.hu/tanar/xxx oldalon megjeleníted a csak tanároknak szóló menüket, blokkokat, és Views modullal kilistázod a nekik szóló tartalmakat.

0
0
d.pryke képe

Köszönöm a választ mindkettőtöknek!

Azt hiszem picit egyszerűbb a problémám, mint ahogy először leírtam, de mégsem sikerül megoldanom, elég sok dolgot nem értek még a Drupallal kapcsolatban.
Edit: azt írtad, hogy "a honlapneve.hu/tanar/xxx oldalon megjeleníted a csak tanároknak szóló menüket, blokkokat"
Nekem ez nem megy. Elolvastam a Te írásaid is itt, de továbbra sem tudok rájönni, hogy hogyan csinálom meg ezt. Azaz hogy pl a node/1 oldalon az X néven definiált menü látszódjon, míg a node/2 oldalon az Y néven definiált menü. Végülis ha ezt meg lehetne oldani, akkor szerintem az egész problémám meg lenne oldva.

0
0
thamas képe

Létrehozod a menüt egy új blokkban

Az adnin/build/block oldalon engedélyezed, hogy megjelenjen, és beállítod, hogy hol jelenjen meg (pl. jobb v. bal sáv) (Mentés!)

A menü blokkjának sorában a "beállítás"-t választod

A blokk beállítás oldalán (pl. admin/buld/block/10), a lap alján ("Oldalaktól függő megjelenés") megadod, hogy mely oldalakon jelenjen meg.

A beállítások sminkfüggőek: ha másik sminket választasz, ott újra be kell állítani!

Üdvözlettel:
Hajas Tamás

0
0

Üdvözlettel:
Hajas Tamás

pp képe

Nézd meg a konferencia videómat, ott pont ez a probléma van körbe járva. A lényeg, hogy a blokk beállításoknál meg tudod adni, hogy mely útvonalakon jelenjen meg egy blokk, sőt használhatsz benne * joker karatert is. A path modullal pedig egyedi útvonal álneveket rendelhetsz az egyes node-okhoz(Drupal útvonalakhoz).

pp

0
0
Webappz képe

Ha létrehozol egy blokkot, vagy egy menüt akkor azt megtalálod az: admin/build/block oldalon.
Edit által javasolt módszer bővebben kifejtve:
Ha létrehozol egy tartalmat (node), akkor annak adj egy beszédesebb, könnyebben kereshető
(SEO barát) nevet, amiben egyértelműen utalsz arra, hogy kinek szántad az adott tartalmat.
Tehát:
Ha a node/2-őt tanárok számára megjelenítendő tartalomnak szántad, akkor a node létrehozásokor állítsd be az Útvonal beállításainál a: tanar/a-node-emberek-szamara-ertelmes-neve álnevet.
Ebben az esetben az adott tartalmat már el tudod érni a honlapneve.hu/tanar/a-node-emberek-szamara-ertelmes-neve URL-en.
Ha ezzel megvagy, akkor létrehozod a tanárok számára megjelenítendő menü struktúrát.
Ezután a fentebb már említett admin/build/block oldalon az előbb létrehozott menüt megtalálod a blokkok listájában. Meghatározod, hogy hol szeretnéd megjeleníteni (melyik régióban), majd ha ez megvan, akkor alul elmented. Ha ez is megvan, akkor a blokkok listájában a megfelelő régió alatt megjelenik a menüd.
Ekkor már nincs más hátra (mint előre :)), a menüdet tartalmazó blokknak van egy beállítása, arra rákattintasz és ott lesz egy olyan rész, hogy "Megjelenítés bizonyos oldalakon:".
Itt kiválasztod, hogy "Csak a felsorolt oldalakon jelenjen meg.".
Alatta van egy "Oldalak:" rész ahol soroként fel tudod sorolni, hogy hol jelenjen meg a menüd.
Ide beírod, hogy: tanar/*
Majd a "Blokk mentésére" kattintva elmented, majd még a biztonság kedvéért a "Blokkok mentése".
Ezzel kész is vagy.
Közben már a többiek is leírták, de ha már elkezdtem, akkor gondoltam be is fejezem :)
Remélem egyértelmű volt és kellően szájbarágós :)

Webappz

0
0

Páldi Zoltán

d.pryke képe

Köszönöm a hozzászólásokat, ahogy leírtátok, sikerült megoldani!!
Egy kisebb dolog viszont felmerült: Van olyan oldal, ami a tanároknak is szól és a diákoknak is. Haa tanárok nyitják meg a tanár menü segítségével, akkor a tanár menünek kellene látszania ezen az oldalon továbbra is, ha a diákok a diák menü segítségével, akkor a diák menünek. Ezt meg is lehetne oldani a fenti megoldással, ha egy oldalnak lehetne több útvonala. Tehát pl a tanar/elerhetosegek ugyanazt az oldalt jelentené mint a diak/elerhetosegek. Mert akkor attól függően, hogy melyik útvonalra hivatkozva hívom be az oldalt, lehetne más a menü. De alapból csak egy útvonala lehet az oldalnak. Erre tudotok esetleg megolást?

0
0
pp képe

Egy oldalnak miért lenne két útvonala? -> hozz létre két oldalt.
Persze ezt nehéz karban tartani, ezért trükközni kell. Létrehozol egy oldal, abba beleírod a tartalmat, létrehozol egy másik oldalt abba pedig a megfelelő hívással megjeleníted a másik oldal tartalmát. (most nem túrom ki, hogyan kell, mert ez alapvetően hülyeség ;))

Ott van a kérdésben a megoldásod szavakba öntve. A blokk megjelenítését lehet csoporthoz is kötni. Ennyi. Az olyan oldalaknál, amik mindkét csoport számára elérhetőek nyílván nem kell az útvonalba a tanar és a diak. Az egyik a tartalomtól függő blokk megjelenítés(a tanárokról szóló tartalmak) a másik meg a felhasználótól függő oldal megjelenítés(a tanároknak szóló tartalmak). Az elsőnél kell az útvonal álneves trükk, míg a másodiknál a blokk beállításaink csoportokra vonatkozó része kell neked.

pp

0
0
d.pryke képe

Hát vagy félreértem amit írsz, vagy nem jó az én problémámra a megoldás.
Nevezzük elérhetőségek oldalnak azt, ami a tanároknak és a diákoknak is látszik.
Az oldal tartalma ugyanaz, cím, telefonszám, stb. De az oldal mellett a blokkban megjelenő menü más. Mindkét menüben szerepel az elérhetőségek menüpont, de mellette más van a tanárok menüjében, és más a diákok menüjében.
Ha a tanároknak szóló menü blokkjának beállításainál megadom, hogy az elérhetőségek oldalon jelenjen meg, majd ezt megteszem a diákoknak szóló menünél is, akkor amikormegjelenik az elérhetőség oldal, 2 menü lesz mellette, mindkét blokk megjelenik, holott mindig csak az egyiknek szabad látszódnia a menünek szánt helyen.
Az jó, bár valóban nem természetes megoldásnak tűnik, hogy egy hívásal megjelenítem az egyik oldalon a másik oldal tartalmát, kitúrnád nekem esetleg, hogy ezt hogyan lehet? :)
köszi!

0
0
pp képe

Ha gányolni akarsz, akkor azt csináld magad!

Mitől függ az a blokk megjelenítése?

Ha a felhasználó csoportjától, akkor miért nem állítod be?
Ha a tartalomtól, akkor logikus, hogy mindkét menü megjelenik.

Le tudod úgy is írni a problémád, hogy én is megértsem? ;)

Mondom így az az elgondolásom, hogy teljesen rossz irányba haladsz.

Én még azt is el tudom képzelni, hogy értelmesebb lenne egy másik menübe tenni az elérhetőségeket, hisz az nem baj, ha minden oldalon ott van, mint a többi olyan oldalra mutató link, ami mindenki számára elérhető.

pp

0
0
d.pryke képe

"Ha a felhasználó csoportjától, akkor miért nem állítod be?"
mert nincs felhasználó, bejelentkezés nélkül kell megkülönböztetni az usert az alapján, hogy melyik menüpontra kattintott :)

"Le tudod úgy is írni a problémád, hogy én is megértsem? ;)"
Már nem feszegetem tovább az idegeiteket, mert a
"Én még azt is el tudom képzelni, hogy értelmesebb lenne egy másik menübe tenni az elérhetőségeket" javaslat alapján rövidrezártam a kérdést, azt hiszem :)

köszi!

0
0
aries képe

A blokk megjelenítésénél lehet PHP alapú feltételt is megadni. Itt ellenőrizd le, hogy a $user melyik csoportnak a tagja és annak megfelelően TRUE vagy FALSE legyen a visszatérési érték.

Aries
http://aries.mindworks.hu

0
0
pp képe

Ehhez nem kell egy sor PHP se, csak ha bonyolultabb a feltétel.

pp

0
0
aries képe

Való igaz. :)

Aries
http://aries.mindworks.hu

0
0