Yii Framework Forum: Richiamare Action Da Console, Problema Widget - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Richiamare Action Da Console, Problema Widget Rate Topic: -----

#1 User is offline   ariostoi 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 8
  • Joined: 10-December 12

Posted 20 February 2013 - 11:14 AM

Ciao a tutti, sto cercando di fare il render di una view (contratto/stat2) da console.
(mi serve inviare una mail con allegato pdf dei dati, quindi ho fatto un cron che richiama una console command ad intervalli regolari)

Quando richiamo la funzione da console compare questo errore:


exception 'CException' with message 'CConsoleApplication and its behaviors do not have a method or closure named "getWidgetFactory".' in /Applications/XAMPP/xamppfiles/htdocs/yii/framework/base/CComponent.php:265
Stack trace:
#0 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/web/CBaseController.php(146): CComponent->__call('getWidgetFactor...', Array)
#1 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/web/CBaseController.php(146): CConsoleApplication->getWidgetFactory()
#2 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/web/CBaseController.php(172): CBaseController->createWidget('ext.htmlTableUi...', Array)
#3 /Applications/XAMPP/xamppfiles/htdocs/blog/protected/views/contratto/stat2.php(110): CBaseController->widget('ext.htmlTableUi...', Array)
#4 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/web/CBaseController.php(126): require('/Applications/X...')
#5 /Applications/XAMPP/xamppfiles/htdocs/blog/protected/commands/MailCommand.php(93): CBaseController->renderInternal('/Applications/X...', Array, true)
#6 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/console/CConsoleCommandRunner.php(67): MailCommand->run(Array)
#7 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/console/CConsoleApplication.php(91): CConsoleCommandRunner->run(Array)
#8 /Applications/XAMPP/xamppfiles/htdocs/yii/framework/base/CApplication.php(169): CConsoleApplication->processRequest()
#9 /Applications/XAMPP/xamppfiles/htdocs/blog/cron.php(12): CApplication->run()




Codice che viene eseguito dal cron command



    $model=new Contratto();

                $mPDF1 = Yii::app()->ePdf->mpdf();
                $mPDF1 = Yii::app()->ePdf->mpdf('', 'A4');
                $stylesheet = file_get_contents(Yii::getPathOfAlias('webroot.css') . '/main.css');
                $mPDF1->WriteHTML($stylesheet, 1);

                
                $controller = new CController('contratto');

   
                $mPDF1->WriteHTML($controller->renderInternal('/Applications/XAMPP/htdocs/blog/protected/views/contratto/stat.php', array('model'=>$model,'sedeScelta'=> $listasedi[$j]['id']), true));


               $content_PDF= $mPDF1->Output("Monitoraggio_Mese_Corrente.pdf",EYiiPdf::OUTPUT_TO_STRING);

               sendmail($data[$i]['mail'], "",$content_PDF);  //è la classica funzione per inviare mail di php mailer



               } 








Nella view stat2.php, c'è una chiamata al db per popolare una tabella, la parte che non gli piace è la chiamata al widget htmltable, se commento questo widget il processo funziona....
$this->widget('application.extensions.htmlTableUi.htmlTableUi',array(
    'ajaxUrl'=>'site/handleHtmlTable',
    'arProvider'=>'',    
    'collapsed'=>false,
    'columns'=>$columnsArray,
    'cssFile'=>'',
    'editable'=>false,
    'enableSort'=>false,
    'extra'=>'',
    'footer'=>'Operatori in turno in questo momento: '.(count($rowsArray)-1).' ',
    'formTitle'=>'Form Title',
    'rows'=>$rowsArray,
    'sortColumn'=>1,
    'sortOrder'=>'desc',
    'subtitle'=>'',
    'title'=>'',
));





Potete darmi una mano? Come posso fargli digerire il widget?
in alternativa accetto qualsiasi suggerimento che mi permetta di inviare il pdf di quella view da console
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users