Základy modulů

Základy modulů

ModulyA jméno a umístění

Všechny moduly by měly být přidány doModulySložkaVe vašem kořenovém adresáři, kde je nainstalován náš CRM aKaždý modul musíMají jedinečný název složky a soubor init se stejným názvem jako složka moduluJménoJe to pravda.

VytvářeníVáš první modul

Předtímvyvinout modul, ujistěte se, že jste nastaviliRežim vývojeAbychom viděli jakékolivarování před chybami a funkcemi/háčky.

Chcete-li začít a vytvořit svůj první modul, postupujte podlekroky níže.

Učeno u pacientov liečených rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropNavigujte na naši CRM instalaci a otevřeteModulyAdresář

Učeno u pacientov liečených rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropVytvořte nový adresář a pojmenujte ho po modulu(j.q._modul vzorek)

Učeno u pacientov liečených rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropVytvořte nový soubor PHPSe stejným jménem jakoModulový adresářV tomto případě,_module.php,Tento soubor bude jednat jako "InitSoubor"pro tento modul.

V tomto případě je modul již vytvořen a registrovánJeště nic nedělá, ale nemá přidáno žádné jméno nebo popisy, myPřidá metadata modulu jako jméno, popis, URL, autor prostřednictvím PHPkomentář, který bude působit jako hlavičky modulů.

Hlavičky modulu by měly být přidány pouze do modulu initsoubor.

Nyní otevřete soubor vzor_module.php, který jsme vytvořili předtím aV horní části souboru přidejte následující komentář:

<?php

Vážně

* Zajišťuje, že soubor modulu init nemůže býtpřístup přímo, pouze v rámci aplikace.

*

("základní definice") nebo('Není povolen přímý přístup ke skriptu');

/*

Název modulu: Vzorek NašeCRM modul

Popis: Vzorekpopis modulu.

Verze: 2.3.0

Požaduje alespoň: 2.3.*

*

Po uložení souboru se můžete pohybovat ve svém našem CRMAdmin oblast do->Nastavení modulůA budete moci vidětseznamu vašeho modulu.

Komentář bude působit jako hlavička souboru pro modul, vyMělo by zkontrolovatPříručka hlaviček souborůPokud chcete dostatZnámější.

ZnačkaUrčitě vždy přidáteNázev moduluHlavička

Je toVelmi důležité proUjistěte se, že název složky modulu a .phpJméno souboru je stejné, jinak se váš modul nebude zobrazen vSeznam modulů

ZákladníHáčky

Budete muset implementovat několik základních háčků při vytvářeníNový modul, jako_activation_hook(),_deactivation_hook()a_uninstall_hook()

Pokud znáte WordPress, pravděpodobně budete vědětPráce, kterou tyto háčky dělají.

PřidáníHáčky

Můžete přidat háčky do svého modulu .php soubory pomocí:

()->add_action($tag,$work_to_add, $priorita = 10, $akcepted_args = 1);

()->add_filter($tag,$work_to_add, $priorita = 10, $akcepted_args = 1);

()->do_action($tag,= $arg '');

()->apply_filters($tag,$hodnota, $doditionalParams);

Můžete přidat své vlastní filtry a akce, abyste mohli použítPři implementaci modulu také pomůže přidání akcí a filtrůDalší moduly pro interakci s vaším modulem a rozšíření modulufunkčnosti.

PředponaVlastní funkce

Měli bysteVždy předpona jakýchkoli vlastních funkcíaAby se zabránilo jakýmkoli konfliktům s našimi výchozími funkcemi nebo třídami CRM nebos jakýmikoli jinými moduly.

PoužitíCodeign Instance v modulových souborech

Pravděpodobně budete chtít použít rámec CodeigniterVe souboru modulu init nebo v jakýchkoli jiných souborech modulů, které nejsourozšíření rámcových základních tříd.

$Totohle, funguje pouze uvnitř vašich ovladačů,modely nebo vaše názory.

Můžete toho dosáhnout kdekoli ve svých souborech pomocíNásledující kód:

Nejprve přiřaděte námitku CodeIgniter proměnné:

$CI = &get_instance();

Jakmile objekt přiřadíte proměnné, použijeteTato proměnnáMísto tohonebo$Totohle

$Ci&get_instance();

$CI->load->helper('module_name/helper_name');

$CI->load->library('module_name/library_name');

DatabázePředpona

Z verze 2.3.0 Naše CRM má možnost definovat vlastníPředpona databáze tabulek.

Výchozí předpona tabulky v našem CRM jetbl

Vždy byste měli používat naši vlastní funkcidb_prefix()u pacientov liečených rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetzískat předponu databáze při dotazu na databázi, což zajistí, že vUživatel změnil předponu databáze, váš modul bude stále pracovat sNová uživatelská předpona.

Zde je příklad zSledování cílůModulInstalovat.phpsoubor.

<?php

("základní definice") nebo('Není povolen přímý přístup ke skriptu');

Pokud(!$CI->db->table_exists(db_prefix() . 'cíle')) {

$CI->db->dotaz('Vytvořit stůl '' .db_prefix() . "cíle" (

'id' int(11) NULL,

'subject' varchar(191) NULL,

'description' text NULL,

Datum'start_date' NULL,

Datum'end_date' NIE NULL,

'goal_type' int(11) NULL,

'contract_type' int(11) NO NULL DEFAULT '0',

'dosažení' int(11) NULL,

'notify_when_fail' Smallint(1) NIE NULLVliva '1',

'notify_when_achieve' Smallint(1) NIE NULLVliva '1',

'oznámeno' int(11) NO NULL DEFAULT '0',

'staff_id' int(11) NIE NULL DEFAULT '0'

Motor=InnoDB DEFAULT )CharSET=". $CI->db->char_set . ";");

VytvořitMožnosti modulů

CRM má tabulku v databáziMožnostiuUkládání různých nastavení pro interní použití a nastavení používaných vrysy. Vyvinuli jsme vlastní funkce PHP, které budou provádět dotazy naZískejte možnosti z databáze.

Jmeny možností jsou struny a musí být jedinečné, abynejsou v rozporu s našimi CRM nebo jinými moduly.

add_option($name,$hodnota, $autoload)

$jméno
(požadované). Název možnosti přidání, abyJe jedinečný a jistý s E.Q. Název modulu.

$hodnota
Hodnota opce (string)

$autoad
(celé číslo) 1 nebo 0
Zda by tato možnost měla být automaticky nahrána se všemi ostatními možnostmi, pokud jsteS využitím příliš mnoho času v pohledu, nejlepší je automaticky ji nahrát dozabránit více dotazům, abyste získali možnost. Výchozí na 1

Mějte na paměti, žeAdd_optionFunkceNevytvoří možnost, pokud název opce již existuje v tabulce opcí.

get_option($option_name);

Získejte možnost z databáze,$option_name(strunce)Vaše jméno.

Aktualizace_option($option_name,$nová hodnota);

U pacientov liečených rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou erAktualizace_optionAktualizuje funkciHodnota od verze 2.3.3, když zavoláte_option, pokud aktualizaceMožnost neexistuje, náš CRM vytvoří tuto možnost.


    • Related Articles

    • Bezpečnost modulu

      Takže jste vytvořili svůj modul a funguje dobře, ale je toV bezpečí? Musíte se ujistit, že váš modul je bezpečný a není zranitelný vůči žádnýmSQL injekce procházejí adresáři. Níže najdete osvědčené postupy, abyste zajistili, že vašeModul bude ...
    • Společné funkce modulu

      _aktivace_háčik Vážně. * Aktivační hák zaregistrujte modulu @param @param$modul řetězceNázev systému modulu @param @param$ smíšená funkcepro funkci háku *@return smíšené * Regist_activation_hook($modul, $funkce) _deaktivace_háček Vážně. * Deaktivační ...
    • Hlavičky souborů modulů

      Každý modul v našem CRM se skládá z init souboru, který obsahujeObecná konfigurace modulu a zahrnuje hlavičky obsahujícímetainformace týkající se modulu. ModulPříklad hlaviček souborů Následujte příklad ze výchozího modulu Náš CRMNastavení menu, ...
    • Co je CCPA (California Consumer Privacy Act)?

      U pacientov liečených rekombinantním eritropoetínou eritropoetínou rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou ...
    • Co je GDPR (obecná nařízení o ochraně osobních údajů)?

      U pacientov liečených rekombinantním eritropoetínou eritropoetínou rekombinantním eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínou eritropoetínouObecné nařízení o ochraně údajů ...