Sziasztok!
Még annó készítettem egy modult postnuke alá, amitnek az adatbázisát felhasználva szeretném most átírni Drupal alá. Abban kérném a segítségeteket, hogyan is fogjak neki.
A modul versenyeket adminisztrált. Lehetett benne versenyt létrehozni, volt neki egy versenyzői adatbázisa valamint egy csapat adatbázisa. A létrehozott versenyhez hozzá lehetett rendelni, hogy mely csapat vesz részt azon a konkrét versenyen, majd a csapathoz hozzá lehetett rendelni, hogy ahhoz a csapathoz, az adott versenyen kik tartoznak. Végül minden versenyző elért eredményét lehetett berögzíteni. Élőben megtekinthető itt (csak hogy érthető legyen), de ez már nem is a PN-os változat: http://haromfa.webpeca.hu/index.php?cc
Érdemes-e elindulni abba az irányba, hogy Drupal felhasználóknak veszem fel a versenyzőket, valamint a Drupal segítségével szervezem csapatba (csoportba) a versenyzőket, de esetemben a versenyzők versenyről-versenyre más-más csapatban szerepelnek (de nem feltétlenül). Kezel Drupal modul hasonlót? Soha nem próbáltam még egyik OG modult sem, hátha van valakinek tapasztalata benne.
Vagy hagyjam meg a teljes rendszert, egyszerűen csak a megjelenítést és az adatbevitelt írjam át?
Köszi, Pali
Asszem sikerült (ki/)megtalálnom...
Üdv,
A neten (mást) keresve akadtam egy pontosan ilyen megoldásra, ami ráadásul pont horgászversenyhez készült :).
Van hozzá "event list", csapat nézet, valamint versenyzői információs nézet.
Az éjjel gondolkodtam rajta, hogyan is lehetne ezt megcsinálni különösebb modulfejlesztés nélkül, és azt hiszem (talán) rájöttem. Arra lennék kíváncsi, hogy szerintetek is jó-e az elgondolás?
Szükséges modulok:
CCK-val elkészítem a következő tartalom tipusokat:
Egy verseny felépítésének menete:
Sok dolog még nem teljesen tiszta előttem(főleg, hogy is fogom összekötni az adott versenyhez a csapatokat, versenyzőket, fogásokat, de szerintem a szótár/kategória + a "Content Taxonomy" segítségével), de ha neki fogok, szerintem az is megvilágosodik :)
Köszi, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
csak most
Szia,
Bocs de csak most jutottam el odáig, hogy erre ránézzek — gondolom, azóta már el is készült a rendszer! Igen, valahogy én is így indultam volna el. A csapatokat, versenyzőket és fogásokat elvileg node reference útján tudod egymáshoz rendelni.
Ha esetleg nem jutottál volna előre, akkor annyi tippet tudnék adni hozzá, hogy én az ilyen esetekben először mindig a CCK-s dolgokat tisztázom, lehessen felvinni versenyt, csapatot, versenyzőt, fogást, ezeket egymáshoz rendelni.
Amikor ez már szépen működik, akkor ráérek kitalálni a kategóriák felépítését és a nézeteket. Tehát először mindig a node-okkal kapcsolatos dolgokat kell végiggondolni, utána lehet a node-okat csoportosítani, ide-oda pakolászni, listázgatni. Ha betartod ezt a sorrendet, akkor a Drupal nem fog cserbenhagyni :)
Kezd aktuálissá válni
Üdv,
Most kezd a dolog aktuálissá válni, szeptember elején lesz a verseny, addigra valamit össze kellene hoznom. Ha egy mód van rá, nem állnék neki programozni (amúgy sem vagyok egy profi kóder :), ha lehet, megoldanám "kattintgatós" módszerrel ;)
Fejben az egész teljesen jól összeált nagyjából, csak pár adat összekapcsolását nem tudom, hogyan kellene megoldani.
Az alap az teljesen ok. Van mondjuk 4 tartalom tipusom:
Amiket nem tudok, hogyan kellene összekapcsolni:
Korábban ezt kapcsolótáblákkal oldottam meg. Volt 4 táblám a törzsadatoknak:
- versenyző
- csapat
- verseny
- fogás
Kapcsolótáblák:
- csapatokat rendelte hozzá az adott versenyhez
- a versenyzőket rendelte hozzá az adott versenyen szereplő csapatokhoz
Pár mondatban, hogy is épült fel az egész folyamat:
Először létrehoztam az adott versenyt. Elkezdtem hozzárendelni a csapatokat a meglévők közül. Ha nem volt még, akkor újként felvettem, és utána. Ha megvolt a csapat, hozzáadtam a versenyzők törzsből a versenyzőt. Ha nem volt, újként felvettem, majd utána. Így szépen összeált az adott versenyen résztvevő csapatok, az aktuális csapattagokal. A fogások könyvelésekor megadtam, hogy melyik versenyző mely versenyen fogta az adott halat. A kapcsolótáblák segítségével így már ki tudtam listáztatni az adott verseny összes csapateredményét.
Valami ilyen eredményt kellene a végén összehoznom...
Így az egészet utólag visszaolvasva (nem tudom ki, hogy van vele, nekem ilyenkor egy csomó dolog összeáll :) arra a következtetésre jutottam, hogy kell még 2 másik tartalom tipust felvennem, amiben összerendelem:
1. versenyhez a csapatokat
2. csapathoz a versenyzőket
És utána ezek felhasználásával már le tudok kérni minden számomra fontos információt az adott versenyhez.
Hálás lennék minden 5letért, javaslatért. Tudom, pp mindjárt írja, hogy kb. 10 perces programozással megoldható lenne a dolog, főleg ha a régi adatbázis modell + az sql lekérdezések meglennének (meg van minden, forrás, sql adatbázis) :)
Köszi, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
tippek
Készítesz egy Verseny tartalomtípust, aminek legyen egy Csapat node reference mezője. Új verseny kiírásakor felviszel egy új Verseny node-ot, és beklikkeled, hogy mely csapatok vesznek részt.
A node reference sajnos csak Select list és Autocomplete Text Field lehetőségeket kínál, checkbox nincsen.
Szerintem ez hasonló probléma, mint az Observer elektronikus újságnál volt a rovatkérdés. A rovatnak vannak fix részei (pl. rovatcím), és mozgó részei (aktuális cikkek). Erre 2 külön tartalomtípust hoztak létre, és a Rovat-fix tartalomhoz node reference segítségével csatolták a Rovat-mozgo tartalmakat. Azt, hogy éppen melyik Rovat-fix típusú node az aktuális, dátum mező segítségével állapították meg.
Nálad talán úgy lehetne megoldani, hogy van egy Csapat-info tartalomtípus, itt viszed fel a csapatok állandó adatait (csapatnév, cím, stb.). És van egy Csapat-tagok típus, itt node reference select listából kiválasztod, hogy melyik Csapat-info node-hoz tartozik a taglista, ill. egy másik node reference select listából kiválasztod az aktuális tagokat. Amikor változik a taglista, akkor mindig új Csapat-tagok node-ot készítesz. Ezeket a Csapat-tagok node-okat aztán Verseny dátum szerint le tudod kérni Views segítségével:
1. Listázod azokat a Csapat-info tartalmakat, amelyek az aktuálisan megtekintett Verseny node-hoz kapcsolódnak node reference segítségével. Magyarán: azon csapatok listája, amelyek az aktuális versenyen részt vesznek.
2. A Csapat-info tartalomtípusba pedig legyen beágyazva Viewfield modullal egy nézet, ahol argumentumként átadod a Verseny időpontját, a nézet pedig listázza azokat a Csapat-tagok típusú, közzétett node-okat, amelyek az akutálisan megtekintett verseny időpontja előtt keletkeztek, fordított időrendi sorrendben (legfrissebb legyen a lista tetején), és a lista csak 1 elemet tartalmazzon.
Tehát akkor működik a dolog, ha a Verseny tartalmak esetén az URL végéhez mindig hozzáragasztod a verseny időpontját. A Views egyrészt kilistázza azokat a Csapat-info oldalakat, amelyek az aktuális versenyhez tartoznak (résztvevő csapatok listája) – másrészt pedig a listán megjelenő Csapat-info típusú oldalak maguk is tartalmaznak egy-egy beépített nézetet, amely Csapat-tagok típusú node-okat listáz, méghozzá mindig az URL végén lévő dátumhoz legközelebb eső múltbeli listát. (Megoldható, hogy ha az URL végén nincs argumentum – éppen nem Verseny típusú node-ot nézünk – akkor mindig a legfrissebb Csapat-tagok listát illessze be.
Akkor jól gondoltam?
Azt írod:
Én is hasonló következtetésre jutottam a végén:
Akkor jól gondoltam, hogy a régi kapcsoló tábláimat (2 volt) két újabb node tipus bevezetésével tudom helyettesíteni?
Utána ezen két node és a Views segítségével (eddig is ezzel akartam) már össze tudom kapcsolni, hogy adott versenyen mely csapatok vesznek részt, és pillanatnyilag kik a csapatok tagjai.
Köszi, aszt hiszem nekiveselkedek. Ha működne a dolog, utána jön a fekete leves, mert 9 korábbi verseny anyagát kellene felvinnem...
Akár hogyan is számolom, ez 932 node lesz... :P
Kösz, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
Érdeklődés
Szaisztok!
Már egy ideje foglalkozom a drupal rendszerrel és a php programozással. Eddig még nem mertem belevágni drupal modul fejlesztésébe, de úgy érzem itt az ideje. Az egyik legjobb módja, hogy megtanuljam az, hogy beleugrok a mélyvízbe. A drupal.org-on sokat olvastam róla és próbálkoztam is vele egy kicsit. De nem látom át. Olyan segítségre lenne szükségem, hogy átláthatóvá váljon számomra egy modul elkélszítésének menete. Sajnos az angol tudásom nem nevezhető túl jónak ezért is vagyok hátrányban. Magyar nyelvű leírást nem nagyon találtam :( Ha valakinek van egy kis ideje és türelme, akkor megköszönném ha útbaigazítana a témában vagy ellátna 1-2 hasznos linkel. Előre is köszönök mindent!
Üdvözlettel: Tibi
oktatás
ajánlom figyelmedbe ezt a képzést...
hú ez tényleg jó
Ez nagyon jó lehet, de sajnos vidéki vagyok és elég messze budapesttől:(
videó
Lesz tréningvideó is, amit meg lehet majd vásárolni, ha jól értem.
Köszönöm az infót, ez
Köszönöm az infót, ez elkerűlte a figyelmemet. Nagyon örülök neki. További jó munkát mindenkinek.
Sziasztok,
Sziasztok,
olyan kérdésem lenne, hogy milyen módon lokalizálható egy modul üzenetének a kiírása? Van egy modulok ami egy könyvtárat hoz létre magának az első látogatásnál ami a modul admin felületére irányúl. Vagyis ezt kellene tennie. De azt csinálja, hogy ahova éppen lépek ott jeleníti meg az üzenetet, hogy a könyvtár létrejött, legyen ez a kezdőlap vagy akármi más oldal. URL-hez kellene kötni ezt a végrehajtás? Köszönöm a hozzászólásokat.
T.
nyiss egy új témát!
Ennek nyiss egy új témát!
- a message nem localizálható.
- egyébként localizálni üzeneteket a t() függvénnyel kell. ;))
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Sziasztok, ismét
Sziasztok,
ismét segítségre lenne szükségem, mert nem jövök rá, hogy modulon belül, hogy tudom használni a while ciklust. Van egy ciklusom ami a könyvtárban található képeket listázza ki, tökéletesen működik egy "nyers" php fájlként. De nem tudom, hogy ezt hogyan tudnám integrálni a modulomba.
Amit szeretnék integrálni a modulomba:
Próbáltam, hogy amit echoval kiír azt adom a függyvény kimeneti értékére de nem jött össze. Annyira ment, hogy az első képet kiadta rendesen és annyi. Abban szeretném a segítségeteket kérni, hogy modulon belül, hogyan használhatom legjobban a ciklusokat, hogy a drupalnak erre van e sémája? Segítségeteket előre is köszönöm.
T.
Új téma!
Kizárólag új témában válaszolunk/ok/junk.
lécciléccilécci a múltkor olyan jól sikerült...
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Hoppá :)
Most nem sikerült :-\
Mentségemre legyen szólva, hogy a választ nem 33sec alatt hoztam össze. :-)
drupal függvények
Szia
Javasolt olvasmány : http://api.drupal.org/api/HEAD/group/file
Először is nem biztos, hogy a feltöltött fájlok a ?files\kepek? könyvtárban vannak.
Az adminisztrációs felületen lehetőség van a feltöltött fájlok könyvtárának megváltoztatására.
http://localhost/?q=/admin/settings/file-system
Az ott beállított értéket, ezzel a függvénnyel lehet lekérdezni: http://api.drupal.org/api/HEAD/function/file_directory_path
Az általad használt while ciklust és a kiterjesztés ellenörzést szükségtelenné teszi ez a függvény : http://api.drupal.org/api/HEAD/function/file_scan_directory
Az eredményül kapott tömbön végig lépkedve ne HTML kimenetet készíts, hanem készítsed elő az adatokat ennek a függvénynek :
http://api.drupal.org/api/HEAD/function/theme_table
Már alig várja őket, ebben a formában:
$output = theme('table', és a többi paraméter);
Mint már említve volt, hogy a 'files\kepek' elég bizonytalan, - a publikus és privát fájl elérésről nem is beszélve ? ezért a fájlok URL-jének összeállításában nagy segítséget nyújthat egy kitalálhatatlan nevű függvény. A
http://api.drupal.org/api/HEAD/function/file_create_url
:-)
Jellemzően az < img> és az < a> HTML elemekhez.
De ha már itt tartunk, akkor szeretném felhívni a figyelmet a http://api.drupal.org/api/HEAD/function/l
függvényre.
Köszönöm a válaszokat
Köszönöm a válaszokat és legközelebb ha van valami újabb probléma akkor új témát nyitok neki, ha a fenti ciklus bejgyzéssel van akkor azt is új témában folytatom majd. A hozzászólásokat megpróbálom hasznosítani, remélem sikerrel járok.
T.
Elakadás
Üdv,
Ezeket a tartalom tipusokat hoztam eddig létre:
(ide veszem fel a horgászt)
(ide veszem fel a csapatot)
(összerendelem a horgászokat a csapattal és megadom melyik eseményen szerepelnek)
(esemény megadása)
Azt szerettem volna elérni, hogy elrejtem az event-nél a field_event_participant_team (ami most egy csapat lista, de NEM táblázatos formában) tartalmát, és alatta egy viewfield segítségével kilistáztatom az adott eseményen résztvevők listáját táblázatos formában. Ehhez paraméterben megkapná a saját nid-jét, ami alapján elvileg le tudnám kérni (ha "síma" sql lenne pl).
Na, itt aztán el is akadtam.
views.event_results(%nid)
-------------------------
mezők:
field_team_name
field_team_country
szűrők:
Tartalom: Típus | Is one of: Esemény, Csapat, Csapat tagok
?
Vagy teljesen rossz irányba próbálkozom?
Köszi, Pali
Ps.: eddig csak egy warning: Division by zero in C:\var\www\includes\pager.inc on line 73. hibaüzenetet sikerült kicsikarnom... :( a többszörös node hivatkozások miatt lenne?
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
taglisták listája
Az Esemény tartalomtípusnál a Résztvevő csapatok node reference helyett/mellett kell egy Viewfield segítségével beágyazott nézet, ami azon Csapattagok tartalmakat listázza, amelyek az adott Esemény típusú node-ra hivatkoznak node reference útján.
A nézet:
Viewfield modul bekapcs, utána az Esemény tartalomtípus mezőbeállítási oldalán (admin/content/types/event/add_field) a node reference mellett lesz egy view reference mező lehetőség is.
A végeredmény az, hogy az Esemény oldalakon megjelennek a releváns taglisták táblázatos formában. (Korábban létrehozott Esemény node-ok nem értesülnek az új beágyazott nézetről, ezeket kézzel frissíteni kell.) Sminkeléssel el lehet szórakozgatni.
Sajnos ez a megoldás nem teszi lehetővé, hogy pl. ABC-sorrendbe rendezzük a horgászokat (mivel a beágyazott nézetben ténylegesen nem horgászokat, hanem horgászok taglistáit listázzuk). Ha ez így nem felel meg, akkor írd le pontosan, hogy milyen táblázatra lenne szükséged.
Pont így
Szia!
Na, ezt pont így gondoltam én is:
Csak egyszerűen nem állt össze a Filters rész. Amint helyesen megadtam a leírásod alapján (a többi már ki volt töltve), már működött is, jól.
Viszont nem a Node Reference Csapat mezőt adtam meg, hanem a Node: Title-t, ugyanis minden csapat név legalább 2x szerepel. Egyszer amikor felviszem mint Team tartalom tipus, és utána még annyiszor, ahányszor versenyeken szerepel, mert ekkor létre kell hozni a csapat-játékos összerendelést, és ilyenkor a node címének is a csapat nevét adom meg, csak pathautóval egyértelműsítem az elérési útját (mondjuk ez utóbbi teljesen mellékes):
Így egyrészt rendezhető a sorrend, és egy újabb beágyazott views segítségével az adott versenyhez könyvelt fogásokat is ki tudom listázni (majd).
Felvettem egy új mezőt a team-angler-reference tipushoz, ahol az adott hely sorszámát tárolom, ahol a versenyzők az adott versenyen szerepelnek. Ezt szépen le is tudom kérni, megjeleníteni (mondjuk elrontottam, mert először text tipusúnak vettem fel, 27 csapatot be is sorszámoztam, majd csodálkoztam, hogy az 1 után a 10 következik és nem a 2 :D. Lehetett törölni, és egy integer tipust felvenni helyette. A figyelmetlen, 2x dolgozik).
Közben előjött egy újabb Filters probléma. Hogyan lehetne hivatkozni a Team tipusnál megadott "Text: Ország (field_team_country)" mezőre az általad leírt views-ban?
Amúgy eddig teljesen jó, de majd most jön még a többi. Létre kell hozni egy "Forgások" tartalom tipust, amiben majd könyvelni lehet a kilókat (fogás dátuma, kiló (grammban), horgász neve).
Utána ezeket az eredményeket kell lekérni az adott versenyre (a fenti views nézetet kiegészíteni) illetve a views_calc modullal összesítve megjeleníttetni az eredményeket. Nem lesz egyszerű menet... :)
Köszi, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
Szükséges (referencia) mezők
Üdv,
A fogások könyveléséhez alapvetően 3 mezőre van szükségem:
Amikor lekérem majd az eredményeket, akkor tudni szeretném, hogy adott versenyen adott csapat mennyi halat fogott.
A fenti adatok alapján ezeket views-sal le tudom gyűjteni? Vagy vegyek fel még neki plusz 2 mezőt a könnyebb használhatóság miatt? Edit leírása alapján a dátum segítségével hozzá tudom rendelni az adott versenyhez a fogásokat, hiszen annak tudom a tól-ig idejét. A feltételnél erre tudok hivatkozni, hogy csak azokat gyűjtse le, amely fogások ezen időtartamon belül vannak.
A csapat kiválasztása a macerásabb.
Mondjuk sql-ben, ezek ismerete nélkül is össze lehetne rendelni a kapcsolatokat, csak kérdés, hogy a views is ad rá-e lehetőséget.
Nem akarok 1000-nél is több fogást 3x bekönyvelni... ;)
Köszi, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
Sikerült megoldani?
Kedves Paal!
Ha meglenne a ?sztori? vége, akkor az itteni eszmecsere lehetne (szerkesztett formában) Edit tartalomszervezés cikkének a folytatása a kézikönyvben. Mit gondolsz? (És te Edit?) Megosztod velünk?
Üdvözlettel:
Hajas Tamás
Üdvözlettel:
Hajas Tamás
cck + views_calc
Sziasztok!
Azért ebbe a témába írtam, mert innét lestem el a dolgokat.
Szerintetek mi lehet a hiba ebben?
http://vikicica22.extra.hu/drupal.hu/kepek/views_calc.jpg
Szépen kirakja a fellépéseket, de az legelső fellépésnél / időpontnál nem jelennek meg normálisan a dolgok. Nem teszi ki a linket a nyírtelekre és a dátumot is nem jól jeleníti meg.
Utána a többi bevitt adatnál minden normálisan működik.
( Drupal 5.3, cck-5.x-1.6-1.tar.gz, date-5.x-1.x-dev.tar.gz, link-5.x-1.x-dev.tar.gz, views-5.x-1.6.tar.gz, views_calc-5.x-1.x-dev.tar.gz )
üdv.: viki
Kezdj új témát
Két ünnep között lesz időm, és leírom miért és hogyan...
Kérlek kezdj új témát! Ott linkeld be ezt és kész.
pp
(egy ilyen öreg tapasztalt fórumozótól elvárhatjuk ezt nem?:D)
Palócz István
https://palocz.hu | https://tanarurkerem.hu