Anzitutto grazie immensamente per le risposte.

Originariamente inviato da k.b
Se dei dati sono necessari in ogni pagina gestita da uno specifico controller, puoi mettere il codice che li estrae/elabora nel costruttore
Bhè... sarebbe stato relativamente semplice e "pulito".
Il fatto sta che le parti comuni possono essere richiamate anche da diversi Controller.

Vi dico una soluzione che avevo pensato (ma nn provato) così mi dite cosa ne pensate.

Creo un controller per le parti comuni e nel costruttore richiamando tutti i model necessari vado a inserire nell'array $this->data tutto quel che occorre per le view.
Codice PHP:
Class Parti_comuni_layout extends CI_Controller 
    
    protected 
$data = array();
    
    public function 
__construct(){     
        
$this->load->model('siti_amici_model'); 
        
$this->data['siti_amici'] = $this->siti_amici_model->GetSitiAmici(); 
        
// etc etc per tutte le parti comuni
        

    } 
Ora tutti i controller che necessitano delle "parti comuni" invece di estenderli in modo "classico" da CI_Controller li estendo da Parti_comuni_layout così da ereditare $this->data con tutti i suoi valori.

Codice PHP:
Class Page extends Parti_comuni_layout{
     public function 
index(){
        
// $this->data contiene tutto ciò che mi serve...
        
$this->data['altro'] = 'altra roba che mi serve nella view';
        
         
$this->load->view('siti_amici'$this->data); 
        }
    } 
$this->load->vars($array)
Me la studio...