0

指定された電子メール テンプレートの html をレンダリングし、それを Mandrill Api サービスに渡すシェル クラス EmailShell を作成しました。

App::uses('View', 'Core');
class EmailShell extends AppShell {
    function startup() {
        parent::startup();
        $useDbConfig = 'default';
    }

    function new_user_created(){
        $html = $this->getEmailTemplateHtml('new_user');
        $post_fields['message'] = array(
            "html" => $html,
            "text" => strip_tags($html),
            "from_email" => "from@example.com",
            "subject" => "subject goes here.",
            "to" => "to@example.com"
        );
        $Mandril = ClassRegistry::init("Mandril");
        $Mandril->sendEmail($post_fields);
    }

    private function getEmailTemplateHtml($template, $layout = 'default', $custom_data = false){
        $v = new View();
        $v->set("data", $custom_data);
        return $v->render('Emails/'.$template, $layout);    
        }
    }

シェルコマンドの実行中

$> ケーキメール new_user_created

次のエラーメッセージが返されます。

*PHP 致命的なエラー: クラス 'View' が C:\wamp\www\cakephp_application\app\Console\Command\EmailShell.php の 22 行目に見つかりません*

メール テンプレートの html を取得して Mandril サービスに渡すにはどうすればよいですか?

4

1 に答える 1

0

問題はViewViewフォルダー内にあり、Core フォルダーがないことです。

使いたくなります。
App::uses('View', 'View');

于 2013-09-05T10:44:37.017 に答える