it-swarm-eu.dev

Come dovrei usare view.raw.php correttamente

Sto cercando di aggiungere un pulsante JToolbar personalizzato alla visualizzazione elenco che esporterà il contenuto dell'elenco in Excel. Ho creato una nuova attività nel mio controller di elenco per eseguire il rendering della classe di visualizzazione non elaborata in un file chiamato view.raw.php. Tuttavia, non riesco a ottenere il contenuto per caricare solo i dati non elaborati.

Ho copiato il codice controller pertinente dal controller com_banners track.raw.php

Metodo del controller:

public function exportToExcel()
{
    // Get the document object.
    $document   = JFactory::getDocument();
    $vName      = 'Mylist';
    $vFormat    = 'raw';

    // Get and render the view.
    if ($view = $this->getView($vName, $vFormat))
    {
        // Get the model for the view.
        $model = $this->getModel($vName);

        // Push the model into the view (as default).
        $view->setModel($model, true);

        // Push document object into the view.
        $view->document = $document;

        $view->display();
    }
}

E un semplice metodo di visualizzazione di prova nel mio file view.raw.php:

public function display($tpl = null)
{
   echo "Test";
}

Questo visualizza "Test" ma carica anche il modello.

Ho provato a usare $document->setType('Raw') ma questo mi sta dando un

Impossibile caricare la classe di rendering

errore.

La ragione di ciò è che sta cercando

librerie/joomla/documento/raw/renderer/modules.php

che non esiste.

Forse sto andando in questo modo nel modo sbagliato, ma come dovrei farlo correttamente?

7
doovers

Devi specificare il tipo di documento nella chiamata URL con format=raw. Joomla caricherà quindi automaticamente il view.raw.php file. Non hai nemmeno bisogno di un controller speciale per questo.

Per creare il pulsante della barra degli strumenti è possibile utilizzare questo:

    $bar = JToolBar::getInstance('toolbar');
    $bar->appendButton('Custom', '<button onclick="window.location.href = \'http://www.google.com\';">Export</button>', 'export');
5
Bakual