Modul alapjai

3 min read

A modulok dokumentációja a 2.3.2

A RevTec CRM modulok a Codeigniter PHP keretrendszer kódbázisát használják, mint például a vezérlők, modellek, nyelvi fájlok, könyvtárak, nézetek stb… ha már ismeri a Codeigniter keretrendszert, akkor könnyen elkezdheti, ha nem, akkor azt javasoljuk. neked keresse fel hivatalos webhelyüket és dokumentációjukat.

Emellett egy csomó segédfunkciót, szolgáltatást, műveleti horgokat és szűrőket adtunk hozzá, amelyek megkönnyítik a modulok létrehozásának és integrálásának folyamatát.

Modulok helye és neve #

Minden modulnak hozzáadva a gyökérkönyvtár modules mappájába, ahol a RevTec CRM telepítve van, és minden modulnak egyedi mappanévvel és init fájllal kell rendelkeznie a modulmappájával név.

Az első modul létrehozása #

A modul fejlesztésének megkezdése előtt győződjön meg arról, hogy beállította a fejlesztési módban, hogy megtekinthesse a hibákat és a funkciókat/horogok megszüntetésére vonatkozó figyelmeztetéseket.

A kezdéshez és az első modul létrehozásához kövesse az alábbi lépéseket.

  • Lépjen a RevTec CRM telepítéséhez, és nyissa meg a modulokat könyvtár
  • Hozzon létre egy új könyvtárat, és nevezze el a modulja után (pl. sample_module)
  • Hozzon létre egy új PHP-fájlt, a modul könyvtárával azonos névvel, ebben az esetben: sample_module.php,  strong>ez a fájl „init fájlként” működik ehhez a modulhoz.

Ebben az esetben a modul már létrehozva és regisztrálva van, de még nem csinál semmit, és nincs hozzáadva semmilyen név vagy leírás, akkor hozzáadjuk a modul metaadatait, mint a név, leírás, URL, szerző egy PHP blokk megjegyzésen keresztül, amely modul fejlécként fog működni.

A modul fejlécei csak az init module fájlhoz kell hozzáadni.

Most nyissa meg a korábban létrehozott sample_module.php fájlt, és írja be a következő megjegyzést a fájl tetejére:

A fájl mentése után a RevTec CRM rendszergazdai területen navigálhat a Beállítás->Modulok és láthatja a modulját a listában.

A megjegyzés a modul fájlfejléceként fog működni, ellenőrizze a fájlfejlécek útmutatója, ha többet szeretne megismerni.

Győződjön meg róla, hogy hogy mindig hozzáadja a Modul neve fejléc
Nagyon fontos, hogy megbizonyosodjon arról, hogy a modulmappa neve és a .php fájl neve megegyezik, ellenkező esetben a modul nem jelenik meg a modullistában

Alap horgok #

Új létrehozásakor néhány alapvető hook-ot meg kell valósítania modul, például register_activation_hook(), register_deactivation_hook() és

Horgok hozzáadása #

A modul .php fájljaihoz a következőket adhatja hozzá:

hooks()->add_action($tag, $function_to_add, $priority = 10, $elfogadott_args = 1);hooks()->add_filter($tag, $add_függvény, $priority = 10, $accepted_args = 1);hooks()->do_action($tag, $arg = '');hooks()->apply_filters($tag, $value, $additionalParams);

Hozzáadhat saját szűrőket és műveleteket, hogy felhasználhassa őket a modul implementációjában is. A műveletek és szűrők hozzáadásával más modulok interakcióba léphetnek az Ön moduljával, és kiterjesztheti a modult funkciókat.

Egyéni függvények előtagja #

Mindig meg kell adni az egyéni funkciókat és osztályokat, hogy elkerülje az ütközéseket a RevTec CRM alapértelmezett funkcióival vagy osztályaival vagy bármely más elemmel. modulok.

A Codeigniter példány használata modulfájlokban #

Valószínűleg a Codeigniter keretrendszer példányát fogja használni a modul init fájljában vagy bármely más olyan modulfájlban, amely nem bővíti ki a keretrendszer alaposztályait.

$this, csak az Ön vezérlőiben, modelljeiben vagy nézeteiben működik.

Ezt a fájljaiban bárhol elérheti a következő kóddal:

Először is rendelje hozzá a CodeIgniter objektumot egy változóhoz:

$CI = &get_instance();

Miután hozzárendelte az objektumot változót, akkor ezt a változót helyett fogja használni, a $this

$CI =&get_instance ();$CI->load->helper('modul_name/helper_name');$CI->load->library('modul_name/library_name');

Adatbázis előtag #

Feladó A RevTec CRM 2.3.0-s verziójában lehetőség van egyéni adatbázistáblák előtag meghatározására.

A RevTec CRM alapértelmezett tábla előtagja tbl

Mindig használja a db_prefix() egyéni függvényünket az adatbázis előtagjának lekéréséhez az adatbázis lekérdezésekor, ez biztosítja, hogy a felhasználó módosította az adatbázis előtagját, a modul továbbra is az új felhasználói előtaggal fog működni.

Íme egy példa a Célkövetés modul install.php fájljából .

db->table_exists(db_prefix() . 'goals')) { $CI->db-> query('CREATE TABLE `' . db_prefix() . "goals" ( `id` int(11) NOT NULL, "tárgy" varchar(191) NOT NULL, "leírás" szöveg NOT NULL, "kezdési_dátum" dátum NOT NULL, "end_date" dátum NOT NULL, "goal_type" int(11) NOT NULL, "contract_type" int(11) NOT NULL ALAPÉRTELMEZETT "0", "teljesítmény". int(11) NOT NULL, `notify_when_fail` tinyint(1) NOT NULL DEFAULT '1', `notify_when_achieve' tinyint(1) NOT NULL DEFAULT '1', `notified' int(11) NOT NULL DEFAULT személyzet_azonosítója` int(11) NEM NULL ALAPÉRTELMEZETT '0') ENGINE=InnoDB DEFAULT CHARSET=" . $CI->db->char_set . ';');

Modulopciók létrehozása #

A RevTec CRM táblázat az adatbázis opcióiban a belső használatra vonatkozó különféle beállítások és a szolgáltatásokban használt beállítások tárolására. Egyedi PHP-függvényeket fejlesztettünk ki, amelyek lekérdezéseket hajtanak végre az opciók adatbázisból való lekéréséhez.

Az opciónevek karakterláncok, és egyedinek kell lenniük, hogy ne ütközzenek sem a RevTec CRM-mel, sem más modulokkal.

add_option($name, $value, $autoload)

$name
Kötelező (karakterlánc). A hozzáadandó opció neve, győződjön meg arról, hogy egyedi, és az E.q előtaggal van ellátva. a modul neve.

$value
A beállítás értéke (karakterlánc)

$autoload
(integer) 1 vagy 0
Azt, hogy ezt az opciót automatikusan be kell-e tölteni az összes többi beállítással együtt, ha túl sok időt használja a nézetben, a legjobb, ha automatikusan betölti, hogy elkerülje a többszöri lekérdezést a opció. Alapértelmezés szerint 1

Ne feledje, hogy az add_option függvény nem hozza létre a beállítást, ha az opció neve már szerepel a beállítási táblázatban.

get_option($option_name);

Lekérni egy opciót az adatbázisból, $option_name (karakterlánc) az opció neve.

p>

update_option($option_name, $new_value);

Az update_option függvény frissíti az opció értékét, mivel 2.3.3 verzió, amikor meghívja az update_option parancsot, ha az opció nem létezik, a RevTec CRM létrehozza ezt a lehetőséget.

Updated on 2024-08-05