Grundläggande om modul

Grundläggande om modul

ModulerPlats & Namn

Alla moduler ska läggas till imodulermappi din rotkatalog där vårt CRM är installerat ochvarje modul måstehar unikt mappnamn och init-fil med samma namn som din modulmappNamnHemsida

SkapaDin första modul

Förebörja utveckla en modul, se till att du ställer inUtvecklingslägeför att se någonfel och funktioner/krokar avskrivningsvarningar.

För att komma igång och skapa din första modul, följsteg nedan.

Om ossNavigera till Vår CRM-installation och öppnamodulerHemsida

Om ossSkapa en ny katalog och namnge den efter din modul(t.ex.prov_modulLänkar

Om ossSkapa en ny PHP-filmed samma namn sommodulkatalog, i detta fall,prov_module.php,Denna fil kommer att fungera som "HemsidaFilen"för denna modul.

I så fall är modulen redan skapad och registreradmen det gör ingenting ännu inte heller har något namn eller beskrivningar lagt till, vikommer att lägga till modulmetadata som namn, beskrivning, URL, författare via en PHPblockera kommentar som kommer att fungera som modulrubriker.

Modulrubrikerna bör endast läggas till i init-modulenFilen.

Öppna nu filen most_module.php som vi skapade före ochLägg till följande kommentar högst upp i filen:

<?php

/**

* Säkerställer att modulen init-filen inte kannås direkt, endast inom ansökan.

*/

definierad('BASEPH') ellerexit('Ingen direkt scriptåtkomst tillåten');

/*

Modulnamn: Prova på våraCRM-modul

Beskrivning: Provmodulbeskrivning.

Utgåva: 2.3.0

Kräver minst: 2.3.*Försökning

*/

När du har sparat filen kan du navigera i din vår CRMadmin område tillInställning->Moduleroch du kommer att kunna seDin modul listad.

Kommentaren kommer att fungera som en filrubrik för modulen, dubör kontrolleraFilrubriker guideom du vill fåmer bekant.

Märkese till att du alltid lägger tillModulnamnsidhuvud

Det ärmycket viktigt attKontrollera att din modulmapp och .phpfilnamn är desamma, annars kommer din modul inte att visas imoduler lista

GrundläggandeKrokar

Du måste genomföra några grundläggande krokar när du skaparny modul, somregistrera_aktivering_krok(),registrera_deaktivering_hook()ochregistrera_uninstall_hook()

Om du är bekant med WordPress kommer du förmodligen att vetadet arbete som dessa krokar gör.

Lägga tillKrokar

Du kan lägga till krokar i din modul .php-filer med:

krokar()>add_action($ tagg,$function_to_add, $priority = 10, $accepted_args = 1);

krokar()->add_filter($ tagg,$function_to_add, $priority = 10, $accepted_args = 1);

krokar()->do_action($ tagg,$arg = '');

krokar()->apply_filter($ tagg,$ värde, $ tilläggsparams);

Du kan lägga till egna filter och åtgärder så att du kan användadem i din modulimplementering också, lägga till åtgärder och filter kommer att hjälpaAndra moduler för att interagera med din modul och förlänga modulenFunktionaliteter.

PrefixAnpassade funktioner

Du böralltid prefixera anpassade funktionerochklasser för att förhindra eventuella konflikter med våra CRM-standardfunktioner eller klasser ellermed andra moduler.

AnvändaCodeigniter Instance i modulfiler

Förmodligen kommer du att vilja använda Codeigniter ramverkinstans i din modul init-fil eller andra modulfiler som inte ärutvidga rambasklasserna.

$ detta, fungerar endast inom dina styrenheter,dina modeller eller dina åsikter.

Du kan uppnå detta var som helst i dina filer medFöljande kod:

Tilldela först CodeIgniter-objektet till en variabel:

$CI = &get_instance();

När du har tilldelat objektet en variabel använder duden variabelniställetav$ detta

$Ci=&get_instance();

$CI->belastning->hjälpare('modul_namn/hjälp_namn');

$CI->load->bibliotek('modul_namn/bibliotek_namn');

DatabasPrefix

Från version 2.3.0 Vår CRM har möjlighet att definiera anpassadeDatatabeller prefix.

Standard tabellprefixet i vårt CRM ärtblå

Du bör alltid använda vår anpassade funktiondb_prefix()Tillfå databasprefixet när du frågar databasen, detta säkerställer att iom användaren ändrat databasprefixet kommer din modul fortfarande att fungera medNytt användarprefix.

Här är ett exempel frånMålspårningmodulenWebbplats analys install.phpFilen.

<?php

definierad('BASEPH') ellerexit('Ingen direkt scriptåtkomst tillåten');

om(!$CI->db->tabell_exister(db_prefix() . 'mål')) {

$CI->db-> fråga('Skapa tabell '' .db_prefix() . "Mål" (

'id' int(11) INTE NULL,

'ämne' varchar(191) INTE NULL,

'beskrivning' text INTE NULL,

'startdatum' datum INTE NULL,

'slutdatum' datum INTE NULL,

'mål_typ' int(11) INTE NULL,

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

'prestation' int(11) INTE NULL,

'notifiera_när_misslyckas' liten nyans(1) INTE NULLDefault '1',

'notifiera_när_uppnå' liten nyans(1) INTE NULLDefault '1',

'notified' int(11) INTE NULL DEFAULT '0',

'personal_id' int(11) INTE NULL DEFAULT '0'

) Motor=InnoDB DEFAULTHemsida=" . $CI->db->char_set . ';');

SkapaModulalternativ

Vår CRM har tabell i databasenTillvalförlagra olika inställningar för intern användning och inställningar som används iFunktioner. Vi har utvecklat anpassade PHP-funktioner som kommer att utföra frågor tillHämta alternativ från databasen.

Alternativnamn är strängar, och de måste vara unika så attde strider inte mot varken vår CRM eller andra moduler.

add_option($namn,$värde, $autoload)

$namn
Krävs (sträng). Namnet på alternativet som ska läggas till, görsäker på att den är unik och prefixerad med E.q. Ditt modulnamn.

$värde
Alternativvärdet (sträng)

$autoload
(helt) 1 eller 0
Huruvida det här alternativet ska autoloaded med alla andra alternativ, om du ärmed hjälp av alternativet för mycket tid i vyn, det bästa är att autoload det tillförhindra flera frågor för att få alternativet. Standard till 1

Tänk på attTillägg_optionFunktionenkommer inte att skapa alternativet om alternativnamnet redan finns i alternativtabellen.

get_option($option_namn);

Hämta ett alternativ från databasen,$option_namn(sträng)Ditt alternativnamn.

update_option($option_namn,$ny_värde);

Läs in merUppdatering_optionFunktionen kommer att uppdateraalternativvärde, sedan version 2.3.3, när du ringerupdate_option omAlternativet finns inte, Vår CRM kommer att skapa detta alternativ.


    • Related Articles

    • Vanliga modulfunktioner

      registrera_aktivering_krok /** * Registreringsmodul aktiveringskrok * @paramsträng $modulmodulsystemets namn * @paramblandad $funktionFunktion för kroken * @return blandad */ regist_aktivering_krok($modul, $ funktion) registrera_deaktivering_krok /** ...
    • Skapa menyobjekt

      Om du skapar dina anpassade moduler, förmodligen kommer du att viljaför att skapa menyalternativ som kommer att visas på administratörsområdets sidofält eller klientsområdeNätverk Med vår CRM kan du enkelt uppnå detta med få kodrader. Läs in ...
    • E-post/SMTP-konfiguration

      Du måste konfigurera SMTP-inställningar för vår CRM om du villatt skicka e.q. fakturor, uppskattningar, försenade påminnelser etc... SMTP-konfigurationen kommer attagera som ett allmänt e-postmeddelande från vår CRM för alla e-postmeddelanden som ...
    • Integritetspolicy - SAAS

      Välkommen till BIMeta! Följande sekretesspolicy geren enkel översikt över vad som händer med dina personuppgifter när du besöker och användervår sociala och affärsmässiga nätverksplattform och hjälptjänster ("Tjänster")Beläget ...
    • BIM Corporation Ansvarsfull och etisk AI-policy

      Introduktion På BIM Corporation inser vi att artificiell intelligens (AI) har potential att driva betydande framsteg över branscher, förbättra effektivitet, innovation och användarupplevelse. Vi är dock lika medvetna om det ansvar som åtföljer denna ...