Drupal CCK
2010.06.24. 08:35
Drupalos kalandozásaim során eljutottam a CCK modulig. Már nem a szerveremen kisérletezek, hanem Xampp-pal, ahova frissen feltettem egy 6.17-es Drupal-t. Azért kezdtem el foglalkozni a CCK-val, mert saját node-típusok és mezők definiálása közben nehézségekbe ütköztem.
Egy Kezdőoldalt szerettem volna készíteni, ami a böngészők "Bookmarks" funkcióját helyettesítette volna online, hogy géptől, böngészőtől függetlenül ugyanazokat a linkeket találjam. Eddig is használtam egy ilyen oldalt, ami plain html volt, ezért nehézkes volt a szerkeszése, főként az, hogy a megfelelő helyre szúrjam be a linkeket.
A problémám az volt, hogy hogyan vegyek fel tetszőleges számú új linket az oldalra. A CCK erre a problémára elegáns megoldást szolgáltat: definiálhatunk saját mező típust, majd ezt hozzáadhatjuk valamelyik node-típushoz, és megadhatjuk, hogy hány példányban lehet jelen az adott node-on (1-10 vagy tetszőleges). A mező típus bevitele egy URL és egy cimke, megjelenítése pedig a generált link. Sok tutorial tartozik a régi CCK-hoz. Azonban a CCK2-vel több hook is megváltozott, ezért a legbiztonságosabb egy létező modulból kiindulni (pld. Text), én az alábbi mintakódból dolgoztam. Bár az elnevezések ("value") nehezítették a munkát, végül sikerült átalakítanom a kódot oly módon, hogy két mezőt kezeljen, és azokat szépen fel is cimkézze. Az eredmény azonban nem volt kielégítő.
A Kezdőoldalon most már tetszőleges számú linket fel tudtam sorolni, azokat sorba tudtam rendezni. De a linkek ömlesztve nem valami hasznosak. Ugyan csoportosíthatóak, group-ok felvételével, de a group-ok számát a tartalom típus szerkesztése közben kell meghatározni. Ez közel sem olyan dinamikus, mint a böngészők könyvjelzői, ahol ráadásul tetszőleges mélységben lehet könyvtárakat - csoportokat - létrehozni.
A CCK hiánypótló modul, de az első tapasztalataim szerint nem varázsszer, így már egy olyan, alig specifikus tartalomtípus esetén, mint a Kezdőlap sem tartom kifizetődőnek a használatát. Hatalmas mennyiségű kódot kell írni a tartalom létének definiálásához is. És csak ez után következik az egyedi működés, tárolás, megjelenítés programozása. Természetesen ha nem igénylünk efféle működést, akkor a CCK egy remek eszköz arra, hogy elfedje az adatbázist, a szerkesztést, megjelenítést, hook-jaival támogatja a validációt és a megjelenítésre való felkészítést, a fent említett számossági problémát. De mint minden keretrendszer, kereteket szab, amiket ha át is lehet lépni, annak a költségei jelentősek.
A Kezdőoldal modult a Form API segítségével fogom megvalósítani (egy jóképű és érthető tutorial itt), erről majd később.
Szerző: lajthabalazs
2 komment
Címkék: drupal form api cck api egyedi mező egyedi tartalomtípus egyedi node
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
HuNiKiA 2010.06.25. 16:44:26
lajthabalazs · https://google.com 2010.06.25. 22:53:23
Remélem, senkit nem sikerül belerántanod ebbe a scam-be. Legfeljebb azok dőlnek be, akik nem veszik a fáradságot, hogy beírják a Google-be, hogy "Drupal tutorial for beginners". Azok meg is érdemlik.