- Facebook és Messenger
- Mikrotik routerek
- Ilyen még nem volt: sztrájkba kezdtek a Samsung dolgozói
- Perelnek a vallásos kripto-piramisjáték miatt
- Hálózati / IP kamera
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Videó stream letöltése
- Microsoft Outlook topic
- Proxmox VE
- Spanyol botrány: ellophatták a járművezetők adatait
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz martonx #9849 üzenetére
Megértem, hogy először a modulfejlesztésről szóló dokumentációk olvasása során egy kicsit "hogy mi van?!"-érzésed volt. Persze attól is függ, melyik cikket olvastad. A doksik is közösség által fejleszthetők/ronthatók. Ettől függetlenül a Drupal dokumentációja elég bőséges, egész igényes, amikor már van fogalma az embernek róla, hogyan kell modult készíteni, akkor nagyon sokat segít. Sok doksi-oldalon jók a kommentárok is (mármint a hozzáértők részéről). Kezdőként sosem egyszerű, de most már egyre több emberi nyelven leírt tutorial születik.
Igaz, így is vannak bőven területek, amik homályosak (bevallom, nekem is rettenet sok terület egyelőre ködös, a rendszer kissé komplex), na meg mondjuk a Drupal egyelőre kutyulmány kódja (procedurális kódok keverve OOP-vel, na meg borzalmas mély többdimenziós asszociatív ÉS integer kulcsokkal ellátott tömbök használata) sem mindig segít ebben (azért elég kritikusan szemlélem, annak ellenére, hogy használom (bizonyos contrib modulok kódjától, amelyek egész népszerűek, kapartam már az arcom)), de hogy végre rátérjek a pozitív részére, rengeteg dolog nagyon rugalmasan és logikusan van kitalálva, és nagyon apró részletekig is le lehet menni a módosíthatóságban, azzal együtt, hogy kódolni nem tudó emberkék is tudják használni (ez nyilván ront egyébként a teljesítményen (pont amit nem szeretsz benne, hozzáteszem, jogosan), de van kidolgozott cache-elési stratégia is bőven, van Entity cache modul, meg még jópár eszköz, ami segíthet).
DE érdemes normális könyveket is olvasgatni a témában - pl. ez elég érthetővé tesz sok mindent: Pro Drupal 7 Development (igaz, a legelején, egy példamodul magyarázatánál egyből felfedeztem egy hibát, amit úgy tűnik, az írója nem jól értett ettől függetlenül modulfejlesztéshez való magyarázat keresése esetén a doksi mellett pluszban mindenképp ajánlott). Aztán itt van még pár, amit berakattam összefoglalóba:
http://prohardver.hu/tema/drupal_portal_fejlesztes/index.htmlA modulfejlesztés alapjaihoz:
Telling Drupal about your module - https://drupal.org/node/1075072
Writing module .info files (Drupal 7.x) - https://drupal.org/node/542202=======
Egyébként ha valaki már csinált modult, akkor egy Hello World-modul elkészítése nem több 5 percnél (sőt), példa Drupal 7-ben:
testmodule.info
name = Test Customization Module
description = Customizing stuffs on the site...
core = 7.x
package = Pete
; Writing module .info files (Drupal 7.x):
; http://drupal.org/node/542202
stylesheets[all][] = css/testmodule.css
scripts[] = js/testmodule.behaviors.jsEzt a fájlt a sites/all/modules/testmodule VAGY sites/all/modules/custom/testmodule könyvtárba kell tenni (ízlés kérdése, hova, a custom könyvtárba pakolás azért lehet talán jobb, mert akkor így elválasztod a saját cuccodat a közösségi fejlesztésű moduloktól). Fontos, hogy ne a főkönyvtárban található modules könyvtárba legyen pakolva, mert azok a core moduljai.
Itt szólunk a Drupalnak, hogy van nekünk egy testmodule nevű modulunk, ezt jelenítse már meg majd a modulok között. A stylesheets[all][] résznél lévő CSS-fájl nyilván opcionális, ez a modul engedélyezésénél minden oldalon be fog szúródni, tehát ez a ténylegesen mindig szükséges CSS-fájl legyen (egyébként lehet a modul kódjából (nem csak leírófájljából) is szólni, hogy szeretnél hozzáadni egy CSS-fájlt egy bizonyos oldalon, ha úgy tetszik), a scripts[] szintén opcionális, ez a JS-fájl mindenhova be fog szúródni (JS-fájlok include-olásáról szintén lehet szólni majd normál kódból is, ha valahol kell). A package = Pete igazából annyit csinál, hogy a modulok adminisztrációs oldalán majd a "Pete" kategória ("csomag") alá fogja sorolni a modult, így könnyebb elkülöníteni a többitől.testmodule.module
<?php
/**
* @file
* A module for customizing stuffs on the site.
*/
/**
* Implements hook_init()
* @see http://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_init/7
*/
function testmodule_init() {
drupal_set_message(t('Hello World!'));
}Itt megjelenítünk az üzenetsávban egy "Hello World!"-üzenetet a felhasználónak.
Igazából ennyi a kód. Ezután a modul máris engedélyezhető az admin/modules oldalon (Administration » Modules).Amikor a t() függvényen áthajtod a stringet, akkor már többnyelvű környezetben (ami kattintgatásra, pár modul engedélyezése, felrakása után elég könnyen elérhető) fordítható is az
admin/config/regional/translate/translate
oldalon (Administration » Configuration » Regional and language » Translate interface), és akkor a másik nyelvre átváltva már a lefordított üzenet fog megjelenni a felhasználónak. (Pl. "Helló világ!")Mindezt azért írtam le, hogy szemléltessem, hogy nem olyan bonyolult elkezdeni fejleszteni egy nagyon egyszerű modult. Meg hátha valakinek jól jön.
[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen