Kategóriák kijelölése

Atamas21 képe

Sziasztok!

A kategória megjelölésével egyidejűleg szeretném a szülő kategóriák automatikus kijelölését elérni. Nekem kerülte el figyelmemet ez a lehetőség és csak egy kattintás vagy CCK taxonomy field a megoldás.

Példa:

Helységnevek szótár:

Magyar ország
--Pest megye
----Budapest
----Dunaharaszti
--Heves megye

A Dunaharaszti kiválasztásakor ne kelljen végigmennem a fa struktúrán és bejelölnöm a szülő kategóriákat(Pest megye, Mo). Egy teljes magyar településlista vagy több szintű nagy kategória rendszer esetén elég macerás a dolog.
Annak idején a Drupallal való ismerkedéskor már meglepett ez a megoldás mivel némi halmazismereteim alapján ezt természetesnek gondoltam.

Segítségeteket előre is köszönöm

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
opera11 képe

csak éppen Drupal 6-on, pont ezzel szívok én is, szóval nálam még a CCK Taxonomy Fields sem játszik.

0
0
aboros képe

így hívják talán, de majd kijavítanak ha nem.
szóval mondhatsz ilyeneket, hogy:
http://drupal.hu/taxonomy/term/28+3 -> ez pl minden ami modulfejlesztés vagy modulhasználat

taxonomy/term/42/all -> ez legyűjt mindent, ami 42 vagy annak gyermekei közül bármi

az a kérdés, hogy mi célból szeretnéd azt, hogy a szülőkategóriákba is bekerüljön a node?
ha ez csak megjelenítési célokat szolgál, akkor nem kell azért a szülőkategóriákba is berakni egy node-ot, hogy meg lehessen azokat jeleníteni alatta, mintha 'rendes' term lenne.

0
0

-
clear: both;

Atamas21 képe

Köszönöm kipróbáltam ez kell nekem de még mindig nem értem miért nem így működik alapból a rendszer. A 23+8; 28,8 lehetőségeket tudtam de az /all megoldást még nem olvastam sehol. A gyakorlatban lehet hogy lesznek további kérdéseim (pl. taxonomy nézet szerkesztésével alapértelmezetté lehet tenni ezt a listázási módot) de lényegében ez a megoldás kérdésemre. Köszi.

0
0
pp képe

Sajnos elég dörti az all megoldása, így nem javaslom használni túl nagy hierarchikus szerkezetnél. Mondjuk, ha arra gondoltál, hogy az apronet-et lemásolod és te is egy akkora adatbázissal és oly hatalmas kategória rendszerre fogsz dolgozni, hát felejtsd el. Ha csak 30 kategóriád lesz és max 1000 node-od akkor használd nyugodtan.

pp

0
0
aboros képe

eleinte nehéz belátni a drupal néhány logikátlannak tűnő dolgáról, hogy valójában az a logikus, de egy idő után ráérez az ember és akkor meg már az tűnik logikátlannak, amit eredetileg logikusabbnak gondolt.

ha alapból úgy működne a rendszer, hogy egy hierarchikus szótárban valamely kategóriához rendelve egy node-ot az megkapná az adott kategória összes szülőjét is kategóriaként, hááát, azt hiszem ezt a működést többször kéne felülírni mint a mostanit.. :) jó ez így ahogy van.

0
0

-
clear: both;

pp képe

Egy hierarchikus kategorizálásnál joggal várná el az ember, hogy ha egy alkategóriába beleteszek valamit akkor a főkategória listázásánál is megjelenik. Itt arról van szó, hogy a kategória hierarchia a lehető legegyszerűbb módon van ábrázolva az adatbázisban. (mert ez a legkönnyebben karbantartható) Ez a módszer pedig az, hogy a gyermek elemnél jelöljük azt, hogy ki a szülője. Ez jó, ha az érdekel minket, hogy valakinek ki a szülője, vagy kik a közvetlen gyermekei. Rossz, ha az érdekel minket, hogy ki az összes gyermek, hogyan lehetett oda eljutni, stb. Ha belenéztek a comment modulba láthatjátok, hogy ott a hozzászólások hierarchizálására egy spec módszert használnak. Ez a módszer azért jó, mert egy lekérdezésből megvan a hierarchikus lista. A hátránya pedig, hogy ha módosítunk a hierarchián, akkor sok sort kell változtatni. Ezért is van az, hogy ha hozzászóltak egy commenthez, akkor azt már nem lehet szerkeszteni, és ha törölsz egy kommentet, akkor az összes hozzá tartozó hozzászólás is törlődik. Ezért nem lehet írni egy normális comment mover modult. (lehet, de olyan szinten inkonzisztensé tudja tenni az egész adatbázist, hogy ihaj.)
Léteznek olyan módszerek, amelyekkel könnyedén lehetne lekérdezni a fenti említett adatokat, de ezek implementációja igen nagy falat.
A Te esetedben én azt javasolnám, hogy vegyél fel annyi szótárat amennyi szinted van és külön külön kategorizáld be az elemeket. (pl. van egy megye és egy város kategóriád)
A konzisztenciára vagy kézzel figyelsz, vagy irsz egy minimál js-t, ami kikapkodja a nem megfelelő településeket, ha választottak megyét, vagy kiválasztja a megfelelő megyét, ha választottak települést) vagy írsz egy modult.

pp

0
0
aboros képe

nyilván elhiszem amit mondasz :) és köszi, azt furcsállom, hogy akkor ezek szerint mégis kívánatos lenne olyan alternatív működés, hogy ha hierarchikus szótárba kiválasztok egy kifejezést, a node kapja meg a kifejezés összes szülőjét is abban a szótárban, mint kifejezést, automatikusan.

ehhez nem lenne elég csak az űrlapot módosítani és a validálásnál belepakolni még a szülőket is és kész is? vagy miért nincs akkor erre modul, ami valami ilyen formában oldja meg ezt? miért nem jelöljük meg akkor az összes szülőjét valakinek mint hozzá tartozó kategória, automatikusan a node mentésekor..? azzal is valami teljesítmény-para lenne? vagy mi?

0
0

-
clear: both;

pp képe

Pont ami után leírtam én is elkezdtem gondolkodni valami kis egyszerű js-en ami ezt megoldja ;)

Szóval a megoldás egyszerű lenne és hipp-hopp kész lenne, de mi van akkor, ha egy kategóriát más szülő alá tolunk át? Na akkor szépen az összes node-ot(mondjuk legyen csak tízezer) újra kell kategorizálni. Ami nem egy egyszerű feladat.

olyan viszont van, ami lecseréli a taxonomy alap nézetét ( http://drupal.org/project/taxonomy_forceall ) meg ott a views is ;))

Persze a kérdező által sejtetett szájt megvalósításához én nem használnám ezeket. És örülnék, ha Ő is átgondolná, hogy érdemes-e egy összegányolt bughalommal a biztos vereség tudatában nekiállnia egy projektnek.

pp
(nem véletlen, hogy mindig csak két opció választható az olcsón, gyorsan, jót hármasból;))

0
0
Atamas21 képe

Nem is baj ez mert ebből is kiderül mindenki másként látja logikusnak ezt a kérdést, de ez a kategorizálásnál azt hiszem megérthető mert egy bizonyos nagyság felett szép kis feladat. Nem csak a fő kategóriák átgondolása hanem az egymás viszonyának (a gyermek kat. besorolása) meghatározása sem könnyű.

Ha már ilyen szépen rákkantatok (Köszönöm a segítségeteket, hozzászólásotokat!) a témára akkor azt hiszem most nem szabad abbahagyni.

Persze a kérdező által sejtetett szájt megvalósításához én nem használnám ezeket.

Konkrét példával egyszerűbb lesz megértenetek a problémámat. Egy városi portál amire naponta felkerül 5-6 hír nem egy extra alkalmazás (nem aprónet).
Tehát van egy Hírek szótár amiben a következő kategóriák vannak:
-Politika
-Közélet
...
-Sport
--Labdarúgás
---Mátra csoport
---Teremfoci
---Kispályás
----I. osztály
--Röplabda
---Felnőtt
---Junior
és így tovább. Nem egy túlzott igény a kategorizálásra (nagyjából így is kb 30 kat.), de jogosan elvárható hogy a felhasználó a labdarúgásra kattintva ne 40-50 hírből mazsolázzon hanem az Őt érdeklő Teremfoci utolsó 5-6 híre jelenjen meg.

A másik nagy kérdés: Mire szolgál a szülő-gyermek kapcsolat? Egy hír beküldésekor nekem ki kell jelölnöm a I. oszt mellett a Kispályás, Labdarúgás és a Sport kategóriákat is hogy az a Sport listázásakor megjelenjen mivel erőteljesen sport hír. Ezek alapján a kategóriákat felvehetném ömlesztve hierarchia mellőzésével mert azt nekem kell figyelnem hogy minden kategóriát kijelöljek. Tehát ekkor semmi jelentősége annak hogy ezek egymás alatt vagy fa struktúrában jelennek meg (na jó egy kicsit segít de akkor is az lenne - részemről erre a feladatra- a normális h egy kategória kijelölésekor már ne kelljen a szülőket keresgetni)

Köszönöm a nagyvonalú feltételezéseket: nézz bele a kódba, vagy irsz egy minimál js-t, vagy írsz egy modult. (tudtok vicces dolgokat írni)

0
0
Atamas21 képe

Most találtam egy régebbi (2004-es) témát amit akkoriban hasonlóan éltem meg.

0
0
pp képe

"Mire szolgál a szülő-gyermek kapcsolat? Egy hír beküldésekor nekem ki kell jelölnöm a I. oszt mellett a Kispályás, Labdarúgás és a Sport kategóriákat is hogy az a Sport listázásakor megjelenjen mivel erőteljesen sport hír."

Nem! Miért kéne? Fentebb van két megoldás is, tessék elolvasni!
Mindkettő "műxik" majd neked.

A Drupal alapból a taxonomy/term/tid útvonalra nem jeleníti meg a gyermek kategóriában lévő elemeket mivel ezek megjelenítése teljesítmény szempontból nem ideális. De Te megteheted és ráveheted (mert a Drupal mindenre rávehető, még erre is). Azonban tudnod kell, hogy ez nem véletlenül nem preferált megoldás.

pp

0
0
Atamas21 képe

Szerintem Te nem olvastad el amit én írtam:

Köszönöm kipróbáltam ez kell nekem

Azt is elfogadom hogy a rendszer működésének ez a megoldás a megfelelő de mint írtam másnak is okozott ez a fajta működés némi meglepetést.

0
0
pp képe

November másodikán írtad ezt én a másnapi, november harmadikai hozzászólásodra reagáltam.

pp

0
0