Modulo di base del modulo

Modulo di base del modulo

Moduliposizione & nome

Tutti i moduli devono essere aggiunti nelmodulicartellanella tua directory principale in cui è installato il nostro CRM eogni modulo deveavere nome univoco della cartella e file init con lo stesso nome della cartella del modulonome.

Creazioneil tuo primo modulo

Primainiziare a sviluppare un modulo, assicurarsi di impostaremodalità di sviluppoper vedere qualsiasierrori e funzioni/ganci avvisi di deprecazione.

Per iniziare e creare il tuo primo modulo, segui ilpassaggi sottostanti.

·Passare alla nostra installazione CRM e aprire ilmodulidirectory

·Creare una nuova directory e nominala dopo il modulo(e.q.sample_module)

·Creare un nuovo file PHPcon lo stesso nome deldirectory modulo, in questo caso,sample_module.php,questo file agirà come "initfile"per questo modulo.

In questo caso, il modulo è già creato e registratoma non fa ancora nulla né ha alcun nome o descrizioni aggiunte, noiaggiungerà i metadati del modulo come nome, descrizione, URL, autore tramite PHPbloccare il commento che fungerà da intestazioni del modulo.

Le intestazioni del modulo devono essere aggiunte solo nel modulo initfile.

Ora apri il file sample_module.php che abbiamo creato prima eaggiungere il seguente commento nella parte superiore del file:

<?php

/***

* Garantisce che il file init del modulo non possa essereaccessibile direttamente, solo all'interno dell'applicazione.

*/

definito('BASEPATH') oexit('Nessun accesso diretto allo script consentito');

/*

Nome del modulo: Campione Il nostroModulo CRM

Descrizione sogno: Campionedescrizione del modulo.

Versione: 2.3.0

Richiede almeno: 2.3.*

*/

Dopo aver salvato il file, puoi navigare nel tuo CRMarea amministrativa aConfigurazione->Modulie sarete in grado di vedereil tuo modulo elencato.

Il commento fungerà da intestazione di file per il modulo, tudovrebbe controllare ilguida intestazioni filese vuoi ottenerepiù familiare.

Faresicuro di aggiungere sempre ilNome del modulointestazione

Èmolto importante aassicurarsi che il nome della cartella del modulo e il .phpIl nome del file è lo stesso, altrimenti, il modulo non verrà visualizzato nelelenco moduli

BasicGanci

Dovrai implementare alcuni ganci di base durante la creazionenuovo modulo, comeregister_activation_hook(),register_deactivation_hook()eregister_uninstall_hook()

Se hai familiarità con WordPress, probabilmente lo sapraiil lavoro che questi ganci fanno.

AggiuntaGanci

È possibile aggiungere hook nei file .php del modulo con:

hooks()->add_action($tag,$function_to_add, $priority = 10, $accepted_args = 1);

hooks()->add_filter($tag,$function_to_add, $priority = 10, $accepted_args = 1);

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

hooks()->apply_filters($tag,$value, $additionalParams);

Puoi aggiungere i tuoi filtri e azioni in modo da poter utilizzareanche nell'implementazione del modulo, aggiungendo azioni e filtri aiuteràaltri moduli per interagire con il modulo ed estendere il modulofunzionalità.

PrefissoFunzioni personalizzate

Dovrestiprefisso sempre qualsiasi funzione personalizzataeclassi per prevenire eventuali conflitti con le nostre funzioni o classi predefinite CRM ocon qualsiasi altro modulo.

UtilizzoCodeigniter istanza nei file del modulo

Probabilmente si desidera utilizzare il framework Codeigniteristanza nel file init modulo o qualsiasi altro file di moduli che non sonoestendere le classi di base quadro.

$this, funziona solo all'interno dei controller,i tuoi modelli, o le tue opinioni.

Puoi raggiungere questo obiettivo ovunque nei tuoi file con ilseguente codice:

In primo luogo, assegnare l'oggetto CodeIgniter a una variabile:

$CI = &get_instance();

Una volta assegnato l'oggetto a una variabile, utilizzeraiquella variabileinvecedi$this

$Ci=&get_instance();

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

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

DatabasePrefisso

Dalla versione 2.3.0 Il nostro CRM ha la possibilità di definire personalizzatotabelle di database prefisso.

Il prefisso della tabella predefinito nel nostro CRM ètbl

Dovresti sempre utilizzare la nostra funzione personalizzatadb_prefix()aottenere il prefisso del database durante la query del database, questo garantirà che incaso in cui l'utente abbia cambiato il prefisso del database, il modulo funzionerà ancora con ilnuovo prefisso utente.

Ecco un esempio dalMonitoraggio degli obiettivimoduloinstall.phpfile.

<?php

definito('BASEPATH') oexit('Nessun accesso diretto allo script consentito');

se(!$CI->db->table_exists(db_prefix() . 'obiettivi')) {

$CI->db->query('CREATE TABLE '' .db_prefix() . "obiettivi' (

'id' int(11) NON NULL,

'soggetto' varchar(191) NON NULL,

'descrizione' testo NON NULL,

'start_date' data NULL,

'end_date' data NULL,

'goal_type' int(11) NON NULL,

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

'raggiungimento' int(11) NON NULL,

'notify_when_fail' smallint(1) NON NULLDefault '1',

'notify_when_achieve' minuscolo(1) NON NULLDefault '1',

'notificato' int(11) NON NULL DEFAULT '0',

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

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

CreareOpzioni modulo

Il nostro CRM ha tabella nel databaseopzionipermemorizzare varie impostazioni per l'uso interno e le impostazioni utilizzate incaratteristiche. Abbiamo sviluppato funzioni PHP personalizzate che eseguiranno query arecuperare le opzioni dal database.

I nomi delle opzioni sono stringhe e devono essere unici in modo chenon sono in conflitto con né il nostro CRM né altri moduli.

add_option($name,$value, $autoload)

$name
Richiesto (stringa). Il nome dell'opzione da aggiungere, faresicuro che sia unico e prefissato con E.q. il tuo nome del modulo.

$value
Il valore dell'opzione (string)

$autoload
(integer) 1 o 0
Se questa opzione dovrebbe essere caricata automaticamente con tutte le altre opzioni, se sieteutilizzando l'opzione troppo tempo nella vista, il meglio è quello di caricare automaticamente aimpedire più query per ottenere l'opzione. Difatti a 1

Tenete a mente cheadd_optionfunzionenon creerà l'opzione se il nome dell'opzione esiste già nella tabella delle opzioni.

get_option($option_name);

Recuperare un'opzione dal database,$option_name(stringa)il nome della tua opzione.

update_option($option_name,$new_value);

Theupdate_optionfunzione aggiornerà ilvalore opzione, dalla versione 2.3.3, quando si chiamaupdate_option se ilopzione non esiste, il nostro CRM creerà questa opzione.


    • Related Articles

    • Intestazioni file del modulo

      Ogni modulo nel nostro CRM è costituito da file init che contienela configurazione generale del modulo e include intestazioni contenentimeta-informazioni relative al modulo. Moduloesempio intestazioni file init file L'esempio seguente viene tratto ...
    • Sicurezza del modulo

      Quindi, hai creato il tuo modulo e funziona bene, ma è tuttosicuro? È necessario assicurarsi che il modulo sia sicuro e non sia vulnerabile a nessunoLe iniezioni SQL sono directory traversando di directory. Puoi trovare le migliori pratiche per ...
    • Funzioni comuni del modulo

      register_activation_hook /*** * Gancio di attivazione modulo di registrazione * @paramstring $modulenome del sistema modulo * @parammisto $funzionefunzione per il gancio * @return misto */ register_activation_hook($modulo, $funzione) ...
    • Termini di servizio - SAAS

      Grazie per il vostro interesse per questi Termini di servizio(questi "Termini"). I presenti Termini costituiscono un accordo legale tra l'utente eBIMeta che disciplina l'utilizzo della nostra piattaforma di social e business network eservizi ...
    • Modelli di posta elettronica

      Per configurare i modelli di posta elettronica passare aConfigurazione ->Modelli di posta elettronicae modificare il contenuto in base al tuobisogni. Puoi impostare unfirma generale emailinConfigurazione->Impostazioni-> Email,questa firma sarà ...