A minap azt javasoltam a drupal.hu fórumán egy kérdezőnek, hogy amit meg akar valósítani azt ne a smink rétegbe tegye hanem írjon rá egy modult, remélem megfogadta a tanacsom. Ezt a kijelentésemet a minap aboros vágta a fejemhez. Ezért úgy döntöttem, hogy bemutatom mennyire nehéz dolog egy drupal modult elkészíteni.
Az angol nyelvű modul fejlesztési dokumentációt itt találjátok: http://drupal.org/developing/modules
A modul készítésről itt írnak: http://drupal.org/node/231276.
Egy oldal elkészítése során sok apró csiszolást kell elvégezni, hogy a drupal pont úgy működjön ahogy azt szeretnénk.
Ezeket a módosításokat célszerű egy a honlap nevével fémjelzet modulba tenni.
A most következő példában egy ilyen modul elkészítését mutatom meg a mysite nevű modult fogjuk elkészíteni, és a modul minden oldal letöltéskor egy üzenetet fog megjeleníteni.
A drupalban a modulok neve csak olyan karaktereket tartalmazhat, ami egy PHP függvény nevében is megadható, mivel a modul neve minden modulban létrehozott függvény nevében szerepelni fog.
A feltelepített drupal sites/all/modules alkönyvtárába hozzuk létre a mysite könyvtárat.
cd /var/www/drupal/ mkdir -p sites/all/modules/mysite
A modul létrehozásához minimum két állomány szükséges egy mysite.info és egy mysite.module, ha szeretnénk a modul telepítésekor műveleteket végezni, akkor szükségünk lesz egy mysite.install állományra is (nekünk most nem kell).
Létrehozzuk mindegyik állományt. Kezdjük a mysite.info állománnyal, ennek a tartalma a következő legyen:
name = mysite description = A mysite oldalon végzett módosításokat tartalmazza. core = 7.x
A name a modul neve, a description a modul leírását tartalmazza, ezeket az értékeket kötelező megadni, de az info állományba megadhatunk még modul függőséget php és drupal verziót, az alábbi oldalon megtaláljuk a többi lehetőséget is: http://drupal.org/node/231036
A core opció a drupal verziót határozza meg, ha 6-os drupalhoz készítjük a 7.x-et 6.x-re cseréljük.
Az info állomány elkészítése után a mysite.module állományunkat kell elkészíteni.
Az állomány tartalma legyen a következő:
<?php /** * hook_init() implementálása */ function mysite_init() { drupal_set_message(t('New message')); }
A module állományban a hook_init hurkot implementáltuk. A szöveg kiíratására pedig a drupal_set_message() függvény segítségével történt. A t() függvény fordítja le a szöveget az oldal nyelvére.




Friss hozzászólások
35 hét 4 nap
2 év 18 hét
2 év 19 hét
3 év 10 hét
3 év 10 hét
3 év 22 hét
3 év 22 hét
3 év 29 hét
3 év 32 hét
5 év 10 hét