Sziasztok!
Van egy alap Drupal7 portálom. Azt szeretném megcsinálni, hogy legyenek űrlapok melyeket ki lehet tölteni és valamilyen logika mentén ezeket össze tudjam kötni egy adatbázisban, ezeket tudjam szűrni valamilyen feltétel szerint és tudjak bennük keresni is.
A problémám az lenne, hogy fogalmam sincs, hogy kezdjek neki. Ehhez milyen modulokra lenne szükségem? Illetve milyen kulcsszavakkal tudnék rákeresni a weben a megvalósításukra?
Elnézést, hogy a témám címe pontatlan, de nem tudtam jobbat kitalálni. Adatokat szeretnék bevinni és közöttük kapcsolatokat építeni. Konkrétan egy tanár-tantárgy nyilvántartóról lenne szó, ahol egy tanár oktathat több tantárgyat is, illetve egy tantárgyat több tanár is, ez az adatbázis űrlapon keresztül bővíthető legyen, lehessen tantárgyak és tanárok között keresni, illetve szűrni valamilyen feltétel szerint.
Köszönöm előre is a segítségeteket!
Szerintem túlbonyolítod.
Szerintem túlbonyolítod.
Mondjuk a tanárokat felveszed felhasználónak (vagy egy tartalomtípusnak), a tantárgyakra pedig létrehozol egy taxonómia szótárt.
A felhasználóhoz/tartalomtípushoz hozzáadsz egy kifejezés hivatkozás mezőt, a ami a tantárgy szótárral van összekapcsolva. A kifejezések száma korlátlan legyen.
Ezt követően amikor létrehozol egy tanárt, hozzáadsz annyi tantárgyat ennél a mezőnél, amennyit kell. Természetesen a következő tanárnál ismét megadod a tantárgyakat - akár ugyanazokat.
Ezzel az adatbáziban szépen benne lesznek a tanárok és a tantárgyak és a kapcso9lat is meg lesz közöttük. Hogy azután ezeket hogyan jeleníted meg, hogyan oldod meg a keresést, az már egy következő lépés.
Csökönyi Ferenc
Na, úgy látom, népszerű
Na, úgy látom, népszerű feladat ez manapság :) Attól függően, hogy melyikről milyen információt kell tárolni, ki tartja karban a dolgokat, illetve melyik szereplőnek milyen jogosultságokat kell biztosítani, szerintem többféle megközelítés létezhet:
Úgy szeretném, hogy a
Úgy szeretném, hogy a hallgatók is tudjanak tanárokat és oktatott tárgyakat felvinni, illetve ezt a kettőt összekapcsolni. Illetve Views képes arra, hogy a tárgyak hasznosságát osztályozhatja bárki, a pontszámokat átlagolja és egy toplistába rendezi?
A hallgatók vihetnek fel
A hallgatók vihetnek fel tanárokat??? Szerintem nagyon rossz irányból közelíted meg, amit akarsz - vagy legalábbis én nem tudom elképzelni, hogy mit is szolgálna az oldalad.
A tanárokat és a tantárgyakat - normál helyzetben - egy adminisztrátor vihet fel, nem a diákok.
Tehát írj valamit arról, hogy mi a célja ennek az egész drupal oldalnak, amit csináltál.
Csökönyi Ferenc
Az értékeléshez van egy csomó
Az értékeléshez van egy csomó célmodul, lásd pl. itt: http://www.drupal4u.org/tips-and-tricks/best-drupal-rating-modules Én egyiket sem használtam még, szóval ajánlani nem tudok. De elvileg úgy is megoldható, hogy egy újabb tartalomtípust (Értékelés) hozol létre, ami kapcsolható a Tárgyhoz és Oktatóhoz is. Az eredmények összesítése szerintem megoldható a views-zal, de lehet, hogy a fent említett modulok is tudják ezt.
Azt én nagyon átgondolnám, hogy a felhasználók vihessenek fel tárgyakat és oktatókat. Láttam már olyat (http://www.markmyprofessor.com), hogy kisebbfajta káosz uralkodott el: ugyanaz az oktató/tárgy többféle néven szerepelt, azonos nevű oktatók összemosódtak egybe... Vagy csak erős tartalmi moderálással.
Köszönöm, megnézem az oldalt
Köszönöm, megnézem az oldalt és kipróbálom a modulokat.
Igen, jó a hozott példa (markmyprofessor.com) valami hasonlót szeretnék én is, csak nem tudom milyen kulcsszavak alapján keressek a Google-on és a Youtube-on (sok jó how-to videó van Drupalra, csak meg kéne találni őket...)
Arra gondoltam, hogy a tárgyakat és tanárokat id-vel kötném össze, és a user vihetne fel új tanárt vagy új tárgyat (de csakis moderáció mellett) így el lehetne kerülni a káoszt. De ehhez az kell, hogy a user ki tudja választani egy listából, amit felhoz neki a rendszer és ne saját néven írja be, mert borul a rendszer. (pl. itt drupal.hu-n új fórum témánál a modulkereső box, ami pár karakter lenyomása után már fel is hozza, amit ki kell választani)
autocomplete + koncepció
A drupal.hu-n a modulkereső mező egy automatikusan kiegészülő mező, ami a valamire (felhasználó, tartalom, taxonómia-kifejezés) hivatkozó mezőtípusok kitöltéséhez alapból rendelkezésre áll a drupalban, tehát ezen nagyon nem kell agyalni.
A feladatodhoz meg szerintem először azt kellene tisztázni, hogy az egyes tartalmakhoz (tárgy, oktató, értékelés...) milyen adatokat akarsz eltárolni, ill. milyen felhasználótípus(oka)t szeretnél, és melyiknek mit lenne szabad csinálni.
Tanácstalan vagyok
Az a baj, hogy hirtelen halvány gőzöm sincs, hogyan lehetne ezt szépen, elegánsan megcsinálni.
Az adatok feltöltését forms modul és egyéni tartalomtípus segítségével megoldanám, de a különböző node-ok összekötését passzolom.
Pl. Adott X tantárgynál kilistázódik mely tanárok tartják, én hozzáadok egy új tanárt, akinél megadom hogy X tárgyat is tart, ekkor jelenleg meg az X tárgy oktatóinál a tanár neve. Szóval ilyen dinamikusságot szeretnék.
Esetleg van rá valami webes sample vagy Youtube videó vagy ilyen step-by-step tutorial? Nem tudom, hogy keressek rá a Google-ben se magyarul, se angolul, mert az adatbázisok kifejezésre általában Drupal telepítéssel kapcsolatos dolgokat hoz fel, illetve adatbázis hibákat.
Mivel még mindig nem világos,
Mivel még mindig nem világos, hogy pontosan mit is akarsz ezzel az oldallal ezért egy változat. (Amit akarsz, nagyon egyszerűen össze lehet hozni - ha már ismered legalább alapszinten a Drupalt. )
- egy tartalomtípus: "tanár"
- egy taxonómia szótár: "tantárgy" - a 7-es Druplaban már a szótár kifejezései is kaphatanak mezőket, így magán a tantárgy nevén kívül egyéb adatok is hozzákapcsolhatók (pl. tantárgytípus reál/humán stb. - ez csak egy ötlet).
- A "tanár" tartalomtípushoz felveszel egy mezőt, amely "kifejezés hivatkozás" típusú és a "tantárgy" szótárra állítod be. Ha a tantárgyakat nem akarod előre felvenni a szótárba, akkor az "Autocomplete" beviteli típust állítsd be. Ez működik itt is a téma létrehozásánál - de ez esetben csak a tantárgy nevét tudja így menteni, aki új tantárgynevet ír be!!! mezőt
- Kell a Views modul, amellyel majd megjeleníted a az adatokat.
A Views modul segítségével tudsz ún. nézeteket létrehozni. Ez nem egy egyszerű dolog, de ha ráérzel, akkor csodákra képes. (Nekem mondta valaki anno itt a Views-ról: első ránézésre olyan bonyolult, mint egy űrhajó vezérlő pultja. De ha már kiismered magad rajta, akkor szinte bármit megoldasz vele.)
A nézetben tudod megjeleníteni a tanár adatait, köztük a tantárgyainak nevével.
Ugyanakkor tudsz létrehozni nézetet tantárgyakra, amely egy-egy tantárgy adatait jeleníti meg, köztük az azt tanító tanárpok neveit. Természetesen, ha új tanár kerül felvitelre, akkor a lista frissül, mivfel ez nem egy statikus HTML oldal, hanem a megnyitás pillanatában kerül összeállításra az éppen aktuális adatokból.
A Felhasználók jogosultságánál kell beállítani, hogy melyik szerepkör tud létrehozni "tanár" tartalmat, ki vihet fel új tantárgyat a szótárba - logikusan, aki tanárt is felvihet, különben nem fog működni, amit akarsz.
Amit tehát tanulmányozz a neten:
- taxonómia szótárak működése
- autocomplete kifejezés lista mező
- Views modul használata
Ez tehát egy lehetséges megoldás a problémádra, de nem az egyetlen.
A végső célt ismerve lehet kiválasztani a legoptimálisabb megoldást:
- "tanár" tartalomtípus, "tantárgy" taxonómia kifejezés (ez van a mintában)
- "tanár" felhasználó szerepkör, "tantárgy" taxonómia kifejezés
- "tanár" felhasználó szerepkör, "tantárgy" tartalomtípus (ekkor az Entity reference modul is kell, az kapcsolja össze egy mezőn keresztül ezeket.)
Ennél többet az ismert információk birtokában nem tudok segíteni.
Csökönyi Ferenc
Köszönöm, pont ilyen posztra
Köszönöm, pont ilyen posztra gondoltam, hogy elindít egy úton és tartalmazza, hogy mely modulok használatát kell áttekintenem. Akkor ezeknek utánaolvasok és megpróbálok kihozni valamit, eddig pl. a taxonómiát nem használtam.