nodepoints modulka

nevergone képe

Sziasztok!

Előrebocsájtom, hogy nem vagyok adatbázis, PHP, Drupal, vagy egyéb "mágus", csak próbálkozom a mélyebb ismeretekkel.

Készítettem egy kis apró modult Drupal 6.x alá, elérhető itt:
http://degy.hu/nodepoints.zip

Arra való, hogy az egyes tartalmaknál megjelenít egy "+1" és "-1" linket (a tartalomtípusok beállításainál lehet engedélyezni), és ezekkel pontozni lehet az adott tartalmat. Az adatbázisban eltárolja az adott tartalom pontértékét, illetve a leadott pontok számát.

Szeretném, ha megnéznétek, hogy milyen hibák és hiányosságok találhatóak benne, esetleg mire érdemes figyelni a későbbiekben.

Természetesen a modul több sebből vérzik, pl. nem tudtam megoldani, hogy a linkre kattintva ne navigáljon el a rendszer (így üres oldal lesz, de az üzenet a főoldalon megjelenik, érdemes a linkre az "új lap nyitása" módon kattintani), hanem maradjon az adott oldalon. Azt pedig végképp nem tudtam megoldani, hogy az egész JQuery -vel menjen, így a tartalom mellett megjelenítve a pontok számát rögtön változzon, ha adok neki pontot.
Ezekkel még messze lehetne javítani, de ehhez még "kicsi" vagyok, esetleg ha valaki meg tudja mutatni érthetően a megoldás menetét (vagy el tud rá vezetni), és van kedve/türelme hozzá, azt megköszönöm, biztos sokat tanulnék belőle.

Azt még megírom hozzá, hogy az adott tartalom szerkesztésénél le lehessen tiltani a tartalom pontozását, a tartalom törlésénél törölje a táblából a neki leadott pontokat is, esetleg 0 kezdőértékre vissza lehessen állítani a pontokat és a darabszámukat.

Köszönöm a segítséget! :)

aries képe

Érdemes lenne egy pillantást vetned a fivestar / jrating modulokra. Azok jó példák, és azt valósítják meg, amit Te is szeretnél.

0
0
nevergone képe

A fivestar modult néztem, viszont a kódja elég bonyolult volt ahhoz, hogy (rögtön) értsem, hogy mit miért (és miért pont úgy) csinál.
Viszont mindegyik a VotingAPI -t használja, én pedig úgy gondolom, ez megoldható anélkül is, illetve azt még nem is portolták teljesen Drupal 6 alá.

0
0
Pasqualle képe

probaltad a drupal_goto fuggvenyt beszurni a nodepoints_cucc vegere?

drupal_goto('/node/'. $nid);
0
0
nevergone képe

Nem rossz ötlet, de pl. ha a főoldalon kattintanak rá, akkor ezzel elmegy az adott node -hoz (persze lehetne figyelni, hogy hol kattintottak rá), meg mi van akkor, ha pathauto -val felülbírálták a "node/" útvonalat?

0
0
Pasqualle képe

coder modul. tudom, hogy magadnak irod, mindegy hogyan nez ki, de ha mar masnak is meg akarod mutatni, legyen formas az a kod (igaz, hogy ez szepen olvashato, de szerintem meg fogsz lepodni)..

nem ertem miert hasznalsz DELETE, INSERT utasitast egymas utan. mi a gond az UPDATE-l?

hat engem a hideg razott ki a magyar szovegektol a drupal kodban, de ezt nem rohatom fel neked..

en adnek default erteket a $point valtozonak
function nodepoints_cucc($nid, $point = 0)
mivel az url elerheto anelkul is, hogy rakattintanal, egy ilyen default ertek segit vegiggondolni, hogy lefedtel e minden eshetoseget..

a menu definicioba beletennem ezt is:
'access callback' => 'user_access',
drupal 6.2 ota sokat lehet szivni, ha kimarad..

nem tudom mit talalhatnek meg ilyen rovid kodban. alapvetoen jol nez ki, es elmeletileg mukodik is (ki nem probaltam)..

0
0
nevergone képe

Tudnátok segíteni abban, hogy milyen módon oldjam meg, hogy egy felhasználó csak egyszer szavazhasson?
Esetleg hozzak létre egy másik táblát, eltárolva benne a felhasználók által adott pontokat, majd az uid szerint (ha már szerepel benne), akkor ne vegyem fel újra a szavazatot?

0
0
Pasqualle képe

hat valahogy ugy, hasonloan ahogy a drupal a {history} tablat hasznalja.

A votingAPI modulba kellene tenyleg belenezni, szerintem abban mar jol atgondolt otletek vannak, amitol jobbat hirtelen nem fogunk kitalalni..

0
0