• Home
  • Blog
    • News
    • Sviluppo
    • Istruzioni per l’uso
  • Servizi
  • Moduli
  • Download italiano
    • Installazione in Italiano
    • Modulo Lingua Italiana
  • Contatti
Sign in
My Account

Lost password?

0 0,00 € 0
0 Shopping Cart

No products in the cart.

Return To Shop
Shopping cart (0)
Subtotal: 0,00 €

Visualizza carrelloCheckout

Return to previous page
Home Blog SuiteCRM Sviluppo

Estendere un modulo

Sviluppo

Estendere un modulo

25 Luglio 2017 /Posted byroberto / 670
SuiteCRM è sviluppato seguendo il pattern MVC (Model-View-Controller) che permette la separazione delle logiche di lavorazione dei dati da quelle di presentazione. Questa è la struttura del core come lo è dei singoli moduli.

Ogni modulo è implementato tramite le regole dell’MVC e può essere esteso nelle proprie funzionalità senza andare a toccare il codice sorgente originale sfruttando la riscrittura  e l’ereditarietà della programmazione a oggetti.

Nella solita cartella custom andiamo a creare tutti files necessari al nostro lavoro

custom/modules/<nome del modulo>/

all’interno di questa directory possiamo andare a riscrivere tutto le classi necessarie al nostro scopo

 

MODEL:

custom/modules/<nome del modulo>/<nome del modulo>.php

La riscrittura del model non è solitamente usata, le modifiche ai campi avvengono tramite lo “studio” di SuiteCRM e la logica di lavorazione avviene nel controller, mentre la presentazione dei dati passa dalle view.

VIEW:

custom/modules/<nome del modulo>/views/view.<nome vista>.php

Le viste del CRM  sono 3:

  1. detail – richiamata dal file  view.detail.php
  2. edit – richiamata dal file view.edit.php
  3. list – richiamata dal file view.list.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
require_once('include/MVC/View/views/view.detail.php');
class <nome modulo>ViewDetail extends ViewDetail {
 
function __construct(){
parent::__construct();
}
 
function display(){
                // logica
parent::display();
}
 
function preDisplay(){
                // logica
parent::display();
}
 
 
}
 

di base abbiamo due metodi da sovrascrivere per la preparazione del data da mandare a schermo.

  • preDisplay, permette di lavorare l’informazione prima che venga inviata a schermo;
  • display, permette di inviare il dato allo schermo

CONTROLLER:

custom/modules/<nome del modulo>/controller.php

1
2
3
4
5
6
7
8
9
 
require_once('modules/<nome modulo>/controller.php');
class Custom<nome modulo>Controller extends <nome modulo>Controller{
    function action_<nome azione>()
    {
        //Logica del controller
    }
}
 

Il controller potrebbe non essere presente nel modulo originale, in tal caso si estende la classe controller principale “SugarController”

1
2
3
4
5
6
7
8
 
class <nome modulo>Controller extends SugarController{
    function action_<nome azione>()
    {
        //Logica del controller
    }
}
 

 

Tags: moduli, MVC
Share Post
Come personalizzare il layout ...
Intervenire nel funzionamento ...

Comments are closed

Categorie

  • Istruzioni per l'uso
  • News
  • SuiteCRM
  • SuiteCRM 8
  • Sviluppo

TAB CLOUD

aod API bug cache calendario cancellazione casi configurazione css csv dashlet dati dropdown elenco email geolocalizzazione gruppi importazione indirizzo IP italiano js layout logic hook manuale utente mappe menù module builder moduli MVC news permessi Prodotti profilazione relazioni report Ricerca ruoli schedulazione smarty sottopannelli suitecrm8 ticket traduzioni vista workflow

E-MAIL: info@crmplatform.it

TELEFONO: +39 055 0736485

  • INFORMAZIONI

    • Domande frequenti

    • Condizioni generali di vendita

    • Privacy e coockie policy

    • Contatti

Segui anche il sito ufficiale del progetto www.suitecrm.com.

crmplatform.it – portale di  promozione di SuiteCRM in lingua italiana.
Creato e curato da Devila snc.