Imas tri verzije modula:
• Core
• Contributed - shared
• Custom
Tebe zanima ova treca kategorija, gde bi pisao module samo za svoje potrebe.
Logika najprostije receno je mesana. Fajlove snimas u njegovom folderu
modules/naziv-tvog-modula.
Moras da navedes info o modulu, tako sto ces kreirati jedan .info fajl koji nosi ime modula (npr.
naziv-tvog-modula.info - ps: uzeo sam ovaj naziv jer sam ga gore spomenuo u navigaciji) i koji ce nositi podatke o nazivu modula, o core verziji drupala, zavisnim fajlovima, drugim fajlovima itd.. Drugi fajl je .module, i nosi isti naziv kao i ime modula (tipa
naziv-tvog-modula.module). On je u stvari .php fajl odakle sve pocinjes. Normalno, fajl pocinje <?php i zavrsava se zatvorenim php tagom.
Unutar njega mozes da pozivas druge fajlove, tj celine, kako ne bi trpao sve u jedan fajl.
Do sad si se pridrzavao striktno njihovih standarda o kreiranju modula. Na dalje, mozes a i ne moras, no sigurno ces koristiti barem kad zelis da prikazes rezultat u okviru neke njihove strane :)
Npr, hvatas neki feed sa neke lokacije. Ti pises taj module, uradis parsiranje podataka, bla bla i na kraju dobijas obradjene podatke. Snimis ih u bazi koristeci njihov codex. Mozes da pises i sam SQL naredbe. Isto je i kad citas neke podatke, mozes da koristis njihov query (laksi i precizniji nacin) a mozes da pises i sam SQL.
U oba slucaja koristeci njihov codex dobijas upravo ta olaksanja (manji kod, manje glavobolja) koja pruza jedan CMS bilo Drupal bilo WP.
Mozes dalje da vrsis jos jednu konekciju na nekoj drugoj bazi, samo na taj nacin gubis na performansama jer radis 2 konekcije + silne queryje koje treba izvrteti nad obe baze, ali ako bas mora :) . Inace Drupal podrzava nekoliko tipova baza, pa vrlo verovatno mozes da radis sa tipom baza koje volis :)