2014-01-09 8 views
9

Ich versuche, Dashboard-Widget-Klasse (hier: http://harpanet.com/programming/php/codeigniter/dashboard/index#installation) zu implementieren, aber es ist ich Fehler geben Unable to load the requested classCodeIgniter Third Party Klasse nicht geladen

Ich habe versucht, diese Klasse in automatischem Dokumenteneinzug als auch hinzufügen, wie menually meinen Controller $this->load->library('dash') aber das gibt auch den gleichen Fehler.

Ich habe dash.php überprüft und unten die Methode private function __example__() gefunden, kann aber nicht verstehen, was der Entwickler im Kommentar sagt.

class Dash 
{ 
    private function __example__() 
    { 
     /* 
     * This function is purely to show an example of a dashboard method to place 
     * within your own controller. 
     */ 

     // load third_party hArpanet dashboard library 
     $this->load->add_package_path(APPPATH.'third_party/hArpanet/hDash/'); 
     $dash =& $this->load->library('dash'); 
     $this->load->remove_package_path(APPPATH.'third_party/hArpanet/hDash/'); 

     // configure dashboard widgets - format: type, src, title, cols, alt (for images) 
     $dash->widgets = array(

        array('type'=>'oop',  'src'=>'test_dash',   'title'=>'Test OOP Widget', 'cols'=>3), 

        // if 'title' is set to FALSE, the title block is omitted entirely 
        // note: this is an 'html' widget but is being fed content from a local method 
        array('type'=>'html',  'src'=>self::test_method(), 'title'=>false, 'cols'=>3), 

        array('type'=>'file',  'src'=>'saf_inv.htm',   'title'=>'Safety Investigation'), 

        // multi-content widget - set widget title in outer array (also note use of CI anchor to create a link) 
        array('title'=>anchor('tz', 'TARGET ZERO'), 
          // sub-content follows same array format as single content widget 
          // 'img' content can also have an 'alt' text 
          array('type'=>'img', 'src'=>'saf_tzout.gif',  'alt'=>'Action Completed'), 
          array('type'=>'file', 'src'=>'saf_tz.htm'), 
          array('type'=>'file', 'src'=>'ave_close.htm',  'title'=>'Average Time to Close') 
          ), 

        array('type'=>'file', 'src'=>'saf_meet.htm',  'title'=>'Safety Meeting'), 
        array('type'=>'file', 'src'=>'saf_acc.htm',  'title'=>'Accident Investigation'), 
        array('type'=>'file', 'src'=>'saf_hazmat.htm',  'title'=>anchor('hazmat', 'HAZMAT')), 
        array('type'=>'file', 'src'=>'saf_cont.htm',   'title'=>'Loss of Containment'), 
        array('type'=>'file', 'src'=>'saf_worksinfo.htm', 'title'=>'Works Information'), 

        // an action widget - 'clear' will generate a blank widget with a style of clear:both 
        array('type'=>'clear'), 

        // multi-content widget - width can be set using the 'cols' param in outer array 
        array('title'=>'RAG Report', 'cols' => 2, 

          array('type'=>'file', 'src'=>'saf_rag.htm'), 
          array('type'=>'img', 'src'=>'ProcSaf.gif')), 

        array('type'=>'file', 'src'=>'saf_chrom.htm',  'title'=>'Chrome checks'), 
       ); 

     // populate the view variable 
     $widgets = $dash->build('safety'); 

     // render the dashboard 
     $this->load->view('layout_default', $widgets); 

    } 
................... 

} // end of Dash class 

Installationspfad istroot/application/third_party/hArpanet/hDash/libraries/dash.php

Wie kann ich diese Klasse zu meinem System laden und Widgets verwenden?

+0

haben Sie Bibliothek Klassennamen versuchen, so 'CI_Dash' –

Antwort

20

Sie haben eine Bibliothek erstellen, die die Dritte Klasse initialisieren:

für zB:

--in Bibliothek erstellen benannte Datei mydash.php -

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class MyDash 
{ 
    public function __construct() 
    { 
     require_once APPPATH.'third_party/hArpanet/hDash/libraries/dash.php'; 
    } 
} 

die Bibliothek laden mit:

$this->load->library('mydash'); 

dann können Sie die Dash-Klasse verwenden. Kann Bibliothek auch in Autoload laden.

Danke ...

+2

Ja, ich habe die gleiche Art und Weise getan .. Vielen Dank für Ihre Unterstützung. –

3

Sorry, Sie haben Probleme zu hören, (ich habe nur gerade diesen SO Eintrag bemerkt). Vielen Dank an ReNiSh für seine Workaround, sehr geschätzt.

Sie tun nicht aber müssen die Bibliothek Ansatz verwenden, um die 'require_once' von hDash zu implementieren. Ich habe jetzt eine Walkthrough für Hdash installiert und läuft, die Sie hier finden können: http://harpanet.com/programming/php/codeigniter/dashboard/walkthrough

Beachten Sie auch, dass seit gestern, 3. Februar 2014 hDash auf Version 1.2 aktualisiert wurde.

1

Ich benutze PDF Parser von http://pdfparser.org/

I Dateien application/Bibliotheken erstellen/pdf.php

class Pdf 
{ 
    public function __construct() 
    { 
     require_once APPPATH."/third_party/pdfparser.php"; 
    } 
} 

Dann erstelle ich Datei application \ third_party \ pdfparser.php

if (!defined('pdfparser')) { 
    define('pdfparser', dirname(__FILE__) . '/'); 
    require(pdfparser . 'pdfparser/autoload.php'); 
} 

Schließlich gehören I PDF Parser-Bibliothek im Verzeichnis => application \ third_party \ pdfparser

+0

Es ist ein guter Ansatz! –

+0

Andy könnten Sie haben einen Blick auf meine Frage, in Bezug auf PDFParser und CodeIgniter? Ich habe Ihre Lösung versucht, indem Sie Probleme bekommen ... http://stackoverflow.com/q/41238075/2278301 – John

Verwandte Themen