Sziasztok!
Egy olyan koncerteket/programokat kezelő oldalt kell fejlesztenem, ahol lényeges, hogy egy eseményhez több helyszín/időpont páros is tartozhat. Nézegettem a cck-t, de sehol sem találtam benne olyan lehetőséget, amivel egy koncert node-hoz egy helyszín node-ból + egy dátumból tetszőleges számút tudnék hozzárendelni. Látom magam előtt a 3 mysql táblát amivel könnyedén megvalósítható, kérdés, hogy a drupalban, cck-val létre lehet-e ilyesmit hozni?! Esetleg érdemesebb saját modulban gondolkodni??
előre is köszi a segítségeteket!!! ;)
Fórum:
mi a node?
Szerintem filozófiai probléma van a megközelítéseddel. Az esemény mindig adott helyszínen, adott időpontban történik (most tekintsünk el az általános relativitás elmélet néhány szélsőséges következményétől :)).
Tehát itt a node egy CCK tartalomtípus, nevezzük eseménynek, ami rendelkezik egy helyszín és egy időpont mezővel. Ezeket az eseményeket aztán kategóriákba tudod rendezni, pl.:
"Érettségi vizsga" kategória
Másik megközelítés, hogy az "Érettségi vizsga" a tartalomtípus, ekkor viszont a helyszínekből és az időpontokból kell kategóriát készíteni.
ez így jó is lehetne
ez így jó is lehetne abban az esetben, ha nem kéne a helyszínekről további adatokat tárolni. de kell... megye, város, cím, telefon, e-mail, stb. ezért lenne fontos két node. egyikben az események, másikban pedig a helyszínek, ezek pedig egy harmadik "tábla" adati alapján találkoznának bizonyos időpontokban.
pl.
koncertek node - id:1 nev:Ákos koncert
helyszínek node - id:1 nev:BS
ezt kéne összehozni ilyesformán:
datum:2007.10.10 koncertid:1 helyszindid:1
mysql+php könnyedén megírnám, de a megrendelő cms-ben szeretné, ami persze nem gond, abban az esetben, ha ez drupalban megoldható... ;)
node reference?
Akkor mondjuk legyen a fő tartalomtípusod neve "koncert", és legyen hozzá egy dátum mező, valamint 2 különböző node reference: előadó, ill. helyszín.
Előadó és helyszín pedig maguk is önálló CCK tartalomtípusok.
Node ref?
cck 1 helyszin, cck 2 az esemeny (aka koncert) az esemenyt kotod a helyszinhez node ref-el az idopont kotes meg lehet akar event, akar taxo, akar egy 3. node tipus
de azis megoldas pl. story node tipust alapul veve megcsinalod onallo modulkent....
több node reference?
igen ezek jó megoldások abban az esetben, ha egy-egy eseményhez egy helyszínt és dátumot kapcsolok csupán. de a lényeg pont az, hogy több, akár tetszőleges számú node reference + dátum legyen társítható... :((
az előző példánál maradva, ilyesformán:
koncertek node - id:1 nev:Ákos koncert
helyszínek node - id:1 nev:BS
helyszínek node - id:2 nev:PECSA
ezt kéne összehozni ilyesformán:
datum:2007.10.10 koncertid:1 helyszinid:1
datum:2007.10.12 koncertid:1 helyszinid:2
stb.
tartalom != tartalomtípus
Lehet, hogy nem világosan fogalmazok. Az esemény egy tartalomtípus, ebből annyi node-ot hozol létre, ahány koncerted van.
Lépésenként:
1. Létrehozol 3 tartalomtípust: koncert (cím-dátum-leírás mezők), előadó (cím-testsúly-tesmagasság mezők), helyszín (cím-telefon-email mezők).
2. Felviszed az előadókat és a helyszíneket. Lesz mondjuk 3 előadó típusú node-od (Ákos, Lagzi Lajcsi, Madonna) és 3 helyszín típusú node-od (BS, Pecsa, Wembley).
3. Felviszed a koncerteket.
Első koncert node:
Második koncert node:
bocs, biztos én sem
bocs, biztos én sem fogalmaztam túl világosan kezdő drupalos létemre. ez a megoldás már működőképes, bár amire én próbáltam utalni, az egy előadóhoz társított dátumok és helyszínek lenne, így kb turnészerű listára adna lehetőséget. vagy a fenti strukrúrából ez kinyerhető views-al? esetleg ne is álmodjak róla? ;)))
köszi!
átlósan
Lehet "átlósan" is gondolkodni.
Tartalomtípusok: "Ákos koncert", "Lajcsi koncert", "Madonna koncert". Mindegyik tartalomtípus tartalmaz egy dátum és egy node reference ("helyszín") mezőt.
Hogy melyiket használod, az alapvetően attól függ, hogy mivel foglalkozik a cég. Mondjuk egy menedzser esetén, aki legfeljebb 2-3 előadó ügyeit szervezi, ott lehet a fenti megoldást használni.
Egy jegyirodánál már nem praktikus (több száz előadó van, ennek megfelelően több száz tartalomtípus szerepelne a 'Tartalom beküldése' menüpont alatt). Ott inkább az előző hozzászólásokban leírt esemény-központú megközelítést érdemes használni ('Tartalom beküldése' alatt 'koncert', 'előadó', 'helyszín' tartalomtípusok).
Views modullal bármelyik megoldás alapján ki tudod gyűjteni listába a neked megfelelő találatokat.
köszi a segítséget! bár
köszi a segítséget! bár jelenleg mégis úgy érzem, hogy hosszabb távon eredményesebb, ha beleásom magam a modulkészítésbe. ezzel kapcsolatban rögtön egy újabb kérdés, hogy milyen editorral lehet emberi módon (highlight) szerkeszteni a .module kiterjesztésű fájlokat?? pl a dreamweavert nem tudom rávenni, hogy php-kódként kezelje, csak ha párhuzamosan mentem, hol .php hol .module kiterjesztéssel. grrrr. :( HELP!
Ki mit szeret
pl. Zend Studio de mc es/vagy far editorai is hasznalhatoak ; ]
gyermekbetegség
Azt hiszem általános jelenség a Drupallal ismerkedők körében, hogy először, mint gyerek az édességboltban, minden modult ki akarnak próbálni; aki meg ismeri a PHP-t az minden piszlicsáré feladatra saját modult akar írni.
Aztán az első komolyabb verzióváltáskor az ember sűrű szitkozódások között megfogadja, hogy ezentúl legfeljebb 2 – na jó, 3, de legfeljebb 4 – kiegészítő modult fog installálni, különben törjön le a keze. Nálam a 4.6-ról 4.7-re frissítéskor jött el ez a pillanat, azóta szinte mindenre Views+CCK-t használok, képgalériától az üzleti nyilvántartásig. 5.1-re 10 perc alatt frissítettem gond nélkül.
Ha tényleg semmi más nincs azon az oldalon, csak a koncertek adatai, és havonta 1 millióan látogatják, akkor lehet, hogy megéri egy testreszabott, karcsúsított modul, egyébként nem nagyon. Nem csak megírni kell, de karbantartani is... Mondjuk tanulásra nagyon jó a feladat.
A fejlesztőeszköz örökzöld téma a Weblabor portálon. Windows alatt ilyen kisebb munkákhoz a "Notepad++"-t találtam a leggyorsabbnak.
Nem ertem ezt a sajat modul ellenesseget
minden major verzio valtasnal 100% korrekt
leiras van drupal.org-on mi a valtozas/megoldas melyik core fuggvenyben
a szamaid meg pontatlanok a contrib modulok donto zome mar 50k
record-nal egyszeruen kihasal, arrol nem beszelve 5-6 balfasz modon
megirt contrib modul dependenciaja picit magasabb mint egy sajate.....