Modul alapjai

Modul alapjai

ModulokHelyszín és név

Minden modult hozzá kell adni amodulokmappaaz Ön gyökérkönyvtárában, ahol a CRM telepítve van, ésMinden modulnakegyedi mappanév és init fájl ugyanazzal a névvel, mint a modul mappanév.

LétrehozásAz első modul

Korábbankezdjen el fejleszteni egy modult, győződjön meg róla, hogy beállítjafejlesztési módAnnak érdekében, hogy lássuk bármelyhibák és funkciók/hookok elavulására figyelmeztetések.

Az első modul létrehozásához kövesse a következőket:Lépések alább.

·Navigáljon CRM telepítésünkre, és nyissa meg amodulokkönyvtár

·Hozzon létre egy új könyvtárat, és nevezze el a modul után(pl.q.minta_modul)

·Új PHP fájl létrehozásaUgyanazzal a névvel, mint amodul könyvtár, ebben az esetben,sample_module.php,Ez a fájl úgy fog működni, mint "initfájl"erre a modulra.

Ebben az esetben a modul már létrejött és regisztráltde még nem tesz semmit, és nincs hozzáadott név vagy leírás, mihozzáadja a modul metaadatokat, mint például a név, leírás, URL, szerző egy PHP-n keresztülblokk hozzászólás, amely modul fejlécekként fog működni.

A modul fejléceket csak az init modulban szabad hozzáadnifájl.

Most nyissa meg a korábban létrehozott sample_module.php fájlt ésAdja hozzá a következő megjegyzést a fájl tetejére:

<?php

/**

* Biztosítja, hogy a modul init fájl nem lehetKözvetlenül, csak az alkalmazáson belül érhető el.

*/

meghatározott ("BASEPATH") vagykilépés ("A közvetlen parancsfájl-hozzáférés nem megengedett");

/*

Modul neve: Minta a miCRM modul

Leírás: Mintamodul leírása.

Verzió: 2.3.0

Legalább: 2.3.*

*/

A fájl mentése után navigálhat a CRM-benadmin terület aBeállítás ->ModulokÉs látni fogodA modul felsorolása.

A megjegyzés a modul fájlfejléceként fog működni, ÖnEllenőrizze afájl fejlécek útmutatóHa meg akarod kapniIsmertebb.

GyártásGyőződjön meg róla, hogy mindig hozzáadja aModul nevefejléc

Ez azNagyon fontos, hogygyőződjön meg róla, hogy a modul mappa neve és a .phpA fájlnév ugyanazEllenkező esetben a modul nem jelenik meg amodullista

AlapvetőHorgok

Néhány alapvető horogot kell végrehajtania a létrehozás soránÚj modul, mint példáulregister_activation_hook(),register_deactivation_hook()ésregister_uninstall_hook()

Ha ismeri a WordPress-t, valószínűleg tudni fogjaA munkát, amit ezek a horgok végeznek.

HozzáadásHorgok

A .php modulhoz horgokat adhat hozzá a következőkkel:

hooks()->add_action($címkézés,$function_to_add, $priority = 10, $accepted_args = 1);

horgs()->add_filter($címkézés,$function_to_add, $priority = 10, $accepted_args = 1);

hooks()-> do_action($címkézés,$arg = ');

hooks()->apply_filters($címkézés,$ érték, $ kiegészítő Params;

Hozzáadhatja saját szűrőit és műveleteit, így használhatjaőket a modul implementációjában is, a műveletek és szűrők hozzáadása segítegyéb modulok a modullal való interakcióhoz és a modul kiterjesztéséhezfunkciók.

ElőrejavításEgyedi funkciók

Meg kell tennieMindig előzetesen csatolja az egyéni funkciókatésosztályok a CRM alapértelmezett funkcióinkkal vagy osztályainkkal való konfliktusok megelőzése érdekében, vagybármely más modullal.

HasználataCodeigniter Instance modulfájlokban

Valószínűleg használni fogja a Codeigniter keretrendszertpéldául a modul init fájlban vagy bármely más modulfájlban, amely nemA keretrendszer alaposztályok kiterjesztése.

$ezcsak az Ön vezérlőin belül működik,A modelljeid vagy a nézeteid.

Ezt bárhol elérheti a fájlokban aa következő kód:

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

$CI = &get_instance();

Miután hozzárendelte az objektumot egy változóhoz, aEz a változóehelyettvagy$ez

$Ci=&get_instance();

$CI->load->segítő('module_name/helper_name');

$CI->load->könyvtár('module_name/library_name');

AdatbázisElőrejavítás

A 2.3.0-s verziótól CRM-ünknek lehetősége van az egyéni meghatározásraadatbázis táblázatok előtagja.

A CRM alapértelmezett táblázat előtagjatbl

Mindig használja egyedi funkciónkatdb_prefix()amegkapja az adatbázis előtagját az adatbázis lekérdezésekor, ez biztosítja, hogy aHa a felhasználó megváltoztatta az adatbázis előtagját, a modul továbbra is működik aÚj felhasználói előtag.

Íme egy példa aCélok nyomon követésemodulinstall.phpfájl.

<?php

meghatározott ("BASEPATH") vagykilépés ("A közvetlen parancsfájl-hozzáférés nem megengedett");

ha(!$CI->db->table_létezik(db_prefix() . "célok")) {

$CI-> db-> lekérdezés('Tábla létrehozása' .db_prefix() . "célok" (

"id" int(11) NEM NULL,

"tárgy" varchár(191) NEM NULL,

"leírás" szöveg NEM NULL,

"kezdési dátum" dátum NEM NULL,

"vég_date" dátum NEM NULL,

"goal_type" int(11) NEM NEM NULL,

"contract_type" in(11) NEM NEM NULL DEFAULT '0',

"eredmény" in(11) NEM NULL,

'notify_when_fail' tinyint(1) NEM NEM NULLDefault "1",

'notify_when_achieve' tinyint(1) NEM NEM NULLDefault "1",

"bejelentett" in(11) NEM NEM NULL DEFAULT "0",

'staff_id' int(11) NEM NEM NEMÉNY DEFAULT '0'

) ENGINE=InnoDB DEFAULTCharset=" $CI->db->char_set . ";");

Hozzon létreModul opciók

CRM táblázatot tartalmaz az adatbázisbanopcióka szövegrészkülönböző beállítások tárolása a belső használathoz és ajellemzők. Egyéni PHP funkciókat fejlesztettünk ki, amelyek lekérdezéseket hajtanak végreOpciók keresése az adatbázisból.

Az opciók nevei karakterláncok, és egyedieknek kell lenniük, hogyNem ütköznek sem a CRM-ünkkel, sem más modulokkal.

add_option($név,$érték, $automatikus betöltés)

$név
Szükséges (húr). A hozzáadandó opció neve, készítse elBiztos, hogy egyedi és előre rögzített E.q. A modul neve.

$érték
Az opció értéke (húr)

$automatikus betöltés
(teljes) 1 vagy 0
Hogy ezt az opciót automatikusan fel kell-e tölteni az összes többi opcióval, hahasználja az opciót túl sok időt a nézetben, a legjobb, ha automatikusan betölti, hogyakadályozza meg a több lekérdezést az opció megszerzése érdekében. Alapértelmezett hibák 1

Ne feledje, hogyadd_optionfunkciónem hozza létre az opciót, ha az opció neve már létezik a beállítások táblázatában.

get_option($option_name);

Kérjen meg egy opciót az adatbázisból,$option_name(húr)Az opció neve.

update_option($option_name,$new_value);

Afrissítés_opcióA funkció frissíti aopciós érték, a 2.3.3-as verzió óta, amikor hívUpdate_option, ha aHa nem létezik, a CRM létrehozza ezt az opciót.


    • Related Articles

    • Modul fájlfejlécek

      A CRM minden modulja init fájlból áll, amelyaz általános modulkonfiguráció, és magában foglalja a fejléceket, amelyekmeta-információk a modulról. Modulinit fájl fejlécek példa Az alábbi példa az alapértelmezett CRM modulunkból származikA telepítéshez ...
    • Biztonság modul

      Tehát létrehoztad a modult, és jól működik, de vajon ezBiztonságos? Biztosítania kell, hogy a modul biztonságos legyen, és ne legyen sebezhető semmilyenAz SQL injekciók könyvtáráthaladnak. Az alábbiakban megtalálja a legjobb gyakorlatokat annak ...
    • Közös modul funkciók

      register_activation_hook /** * Regisztráció modul aktiváló horog * @paramhúr $modulmodulrendszer neve * @paramvegyes $ funkciófunkció a horoghoz * @return vegyes */ register_activation_hook($modul, $funkció) register_deactivation_hook /** * ...
    • Menüelemek létrehozása

      Ha egyéni modulokat hoz létre, valószínűlegmenüelemek létrehozása, amelyek megjelennek az admin terület oldalsávján vagy az ügyfelek területénnavigáció. CRM-ünkkel ezt könnyen elérheti néhány sor kóddal. AAz alábbi kódmintáknak helyeknek kell lenniük ...
    • Adatfeldolgozási kiegészítés

      Annak érdekében, hogy Ön, mint szolgáltatásfelhasználó és adatkezelő(a továbbiakban: "Adatkezelő" vagy "Felhasználó") használhatja vagy továbbra is használhatja a)közösségi és üzleti hálózati platform; és b) kiegészítő szolgáltatásaink ...