hellósztok
még csak most álltam neki a modulfejlesztésnek, amiben nagy segítségemre volt a http://openproject.hu/blog/york/drupal-modul-keszitese-egyszeru oldal, ami után a legalapabb dolgokon túl vagyok, csak egy olyan problémám lenne, hogy milyen módon lehetne azt megoldani, hogy a modul bekapcsolásakor létrehozza az adatbázisba a szükséges, majd használt táblákat, és hogy modul kikapcsolásakor ezeket törölje?
Előre is kösz minden segítséget.
Fórum:
MODULNEVE.install és schema
Nézz bele mondjuk a poll modul könyvtárában(modules/poll) található poll.install fájlba.
A lényeg, hogy kell egy drupal_install_schema('MODULNEVE') a hook_install() függvényedbe és egy drupal_uninstall_schema('MODULNEVE') a hook_uninstall() függvényedbe, valamint meg kell valósítanod a hook_schema() hookot is. E három hook megvalósítást a MODULNEVE.install fájlba tedd bele.
Lásd még: http://api.drupal.org
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
az ilyen válaszokat szeretem
na, az ilyen válaszokat szeretem, egyszerű, rövid, lényegre törő és mégis hasznos :)... emellett a poll modul installját tanulmányozva újabb kérdések merültek fel bennem, pl, hogy a modul programozásban nincs SQL? (bocs ha hülye kérdés, de még nagyon amatőr vagyok :) ), és nem teljesen értem azt a szintaktikát... valaki el tudná magyarázni esetleg, hogy itt mi-micsoda, és hogy hozok létre táblát szöveg, szám, dátum mezőkkel?
A séma létrehozáskor már
A séma létrehozáskor már nincs benne SQL, mert a Drupal az adatbázistól függően fogja legenerálni az SQL-t.
A hook_schema-tól itt olvashatsz:
http://api.drupal.org/api/function/hook_schema/6
Ezek a típusok érhetőek el:
http://drupal.org/node/159605
És ez a referencia:
http://drupal.org/node/146939
Kb ilyesmi egy schema:
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
ezer köszönet
ezer köszönet, tökéletes válasz :), ez alapján meg tudom csinálni :), és ha jól értelmezem akkor több táblát egyszerűen úgy csinálok, hogy írok még egy "$schema['tabla_neve']..." elemet? és a törlés, akkor :
function ultimate_reserve_install() {
// Create tables.
drupal_install_schema('ultimate_reserve');
}
és így gyakorlatilag azt törli amit itt létrehozok, mindent, és nem is kell megadni semmi extra adatot?
Igen, úgy hozol létre új
Igen, úgy hozol létre új táblát hogy egy új kulcsot hozol létre a változóban.
hook_install-ba:
drupal_install_schema('modulneve')
hook_uninstall-ba:
drupal_uninstall_schema('modulneve')
Az egyik létrehozza a táblákat a másik meg kitörli.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
még egy apróság
ja, és a primary_key-t először meg kell valósítani egy változóként a fields-ben és utána elsődleges kulccsá alakítani, vagy autómatán létrehozza? és ha automatán hozza létre akkor milyen típusként?
Igen, először létrehozod a
Igen, először létrehozod a fields-ben - definiálod a tulajdonságait -, majd utána megadod hogy melyik, vagy mely field-ek az elsődleges kulcsok.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
kösz, mindkét választ
kösz, mindkét választ, így már meg tudom csinálni, remélem :), tudom, hogy ez nem ide illő kérdés, de milyen programmal érdemes Drupal modult írni? mert a wordpad, szerintem enyhén szólva nem a legjobb megoldás :)
Én pl. Netbeans PHP-t
Én pl. Netbeans PHP-t használok, de valaki az Eclipse-t szereti, valaki meg a Komodo-t valaki meg megint mást. Én használtam mind a hármat és ez jött be legjobban.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
Komodo, Notepad++
Én pl. Komodo-t használok, de akár egy Notepad++ is elég lehet.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
http://drupal.hu/forum/drupal
http://drupal.hu/forum/drupal-fejleszt%C5%91i-k%C3%B6rnyezet
és mindjárt jön zserno a vimmel. :)
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
offtopic
Igazad van, ez amúgy is offtopic itt. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
tudom, hogy offtopic
tudom, hogy offtopic, de így volt a legegyszerűbb :), kösz minden választ :), én HTML Builder-el próbálkoztam ami nem rossz, mert színez, de nem kapcsolja össze a zárójeleket, pedig az nagyon hasznos fejlesztésnél... no abbahagyom az offolást, és szerintem az alaptémát is kitárgyaltuk :), szal még egyszer kösz mindent, és majd még visszatérek egy újabb témával :)
csak nem tudok elszakadni...
csak nem tudok elszakadni a témától :), megvalósítottam ezzel a módszerrel 3 táblát, de csk az egyiket csinálta meg, valószínüleg azért, mert dátum típust próbáltam létrehozni...
'datum' => array(
'type' => 'date',
'not null' => TRUE,
'default' => ''),
akkor ezek szerint, csak "datetime" típust lehet csinálni? és ha igen, akkor ebben lehet tárolni, csak dátumot a későbbiekben könnyedén? úgy hogy csak a dátum részét kezeljem?
emellett még az érdekelne, hogy "utf8_general_ci" típusúnak mentette el a táblát (bár a többi tábla is ilyen), és hol lehet beállítani, hogy magyarnak mentse el (utf8_hungarian_ci)? vagy ezt alapból a modul létrehozásánál kell beállítani, mert igazából nemtudom, hogy ez a későbbiekben gond lesz-e, de a Drupalban a moduloknál már a modul leírásánál sem jeleníti meg az ékezeteket, és ezért gondoltam, hogy ezt jobb minél előbb lekezelni (és azt se tudom mondjuk, hogy a verziószámot hol lehet megadni, hogy ott kiírja, de ez már tényleg eléggé off téma :) )
előre is kösz, a válaszokat, és remélem ez lesz az utolsó kérdésem a témában :)
utf-8 kódolással készítsd a fájlokat
utf-8 kódolással készítsd a fájlokat
Palócz István
https://palocz.hu | https://tanarurkerem.hu
azt hol is kell?
azt hol is kell beállítani? melyik fájlban (esetleg mindben), és hogyan? :), bocs, még nagyon amatőr vagyok :)
programban
A programban, amit használsz. BOM se legyen a fájl elején.
De ez itt szintén offtopic, megfontolandó a téma lezárása, mivel az eredeti kérdésre több helyes válasz is született már.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Haha :)
Hat ezen jot mulattam, koszi! :)
(Psszt! Amugy tenyleg, Vim a legjobb: http://www.youtube.com/watch?v=pCiVCiku3cM)
Schema API
http://api.drupal.org/api/group/schemaapi/6
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés