Frage

Ich habe eine E-Mail-Vorlage in einer Ansicht und ich möchte ein Verfahren schreiben, die Consoleapplication ist, die E-Mails senden sein bereitet. Becouse es ist Consoleapplication habe ich keinen Zugriff auf Controller. Ist es eine Möglichkeit, einen Blick zu machen?

War es hilfreich?

Lösung

Hier ist, was ich benutze:

private function render($template, array $data = array()){
    $path = Yii::getPathOfAlias('application.views.email').'/'.$template.'.php';
    if(!file_exists($path)) throw new Exception('Template '.$path.' does not exist.');
    return $this->renderFile($path, $data, true);
}

Es dauert E-Mail-Vorlage von views / E-Mail .

Andere Tipps

Wenn alles andere fehlschlägt (wie in meinem Fall):

<?php


    /**
    * Renders a view file & returns result.
    * @param string $_viewFile_ view file path
    * @param array $_data_ optional data to be extracted as local view variables
    * @param boolean $_return_ whether to return the rendering result instead of displaying it
    * @return mixed the rendering result if required. Null otherwise.
         */
public function myRenderPartial($_viewFile_,$_data_=null,$_return_=true) {

    if(is_array($_data_))
        extract($_data_,EXTR_PREFIX_SAME,'data');
    else
        $data=$_data_;

    if($_return_)
    {
        ob_start();
        ob_implicit_flush(false);
        require(YiiBase::getPathOfAlias("application.views").$_viewFile_.'.php');
        return ob_get_clean();
    }
    else
    {
        require($_viewFile_);
    }
}   

?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top