私はcronジョブを介してシェルスクリプトを実行しています。それは正しく電子メールを送信します。しかし、私はできないように見えるデータベースから電子メールテンプレートにデータを渡すことができるようにしたい。ここでCakePHP 1.3 cronで実行中のシェル - データを電子メールテンプレートに渡す
シェル
App::import('Core', 'Controller');
App::import('Component', 'Email');
class ExampleShell extends Shell {
var $uses = array('User');
function main() {
$users = $this->User->find('all');
$this->Controller =& new Controller();
$this->Email =& new EmailComponent(null);
$this->Email->initialize($this->Controller);
$this->Email->reset();
$this->Email->to = 'xx<[email protected]>';
$this->Email->subject = "Subject";
$this->Email->template = 'example';
$this->Email->sendAs = "both";
$this->Controller->set('users', $users);
$this->Email->send();
}
}
変数$ユーザーがexample.ctpファイルで利用できるようには見えないのですか?シェルスクリプトのデータをテンプレートに渡すにはどうしたらいいですか?
この行を変更してください:var $ uses = array( 'User');これまで:var $ users = array( 'User'); –
ありがとう、私はそれを試みたが、私は今、次のエラーが表示されます:未定義のプロパティ:exampleShell :: $行/ '$ users = $ this-> User-> find(' all ');' – Dave
何をお話していますか? $ usesは、モデル – Aziz