Bir denetleyici veya görünümü dışında Zend Framework kısmi görünümü yardımcısı nasıl kullanılır?

0 Cevap php

Ben bir HTML e-posta üretecektir özel bir sınıf oluşturmak istiyoruz. Ben e-postanın içeriği bir "e-posta görünümü komut" dizinindeki gelmek istiyorum. Yani kavram Ben bir HTML e-posta œkod ben (sınıf değişkenleri, vb belirtmek edememek), normal bir görünüm komut dosyası yaratacak aynı şekilde oluşturabilirsiniz olacak ve œkod e-postanın HTML vücut olarak işlenmiş olacaktır.

Örneğin, denetleyicisi:

$email = My_Email::specialWelcomeMessage($toEmail, $firstName, $lastName);
$email->send();

My_Email::specialWelcomeMessage() function böyle bir şey yapardı:

public static function specialWelcomeMessage($toEmail, $firstName, $lastName) {
    $mail = new Zend_Mail();
    $mail->setTo($toEmail);
    $mail->setFrom($this->defaultFrom);
    $mail->setTextBody($this->view->renderPartial('special-welcome-message.text.phtml', array('firstName'=>$firstName, 'lastName'=>$lastName));
}

Ben bu kadar kolay specialWelcomeMessage() function hareket yapmak için bir yol bulabiliriz eğer İdeal olarak, bu iyi olurdu:

public static function specialWelcomeMessage($toEmail, $firstName, $lastName) {
    $this->firstName = $firstName;
    $this->lastName = $lastName;
    //the text body and HTML body would be rendered automatically by being named $functionName.text.phtml and $functionName.html.phtml just like how controller actions/views happen
}

Daha sonra özel karşılama-message.text.phtml ve özel karşılama-message.html.phtml komut kılacaktır Hangi:

<p>Thank you <?php echo $this->firstName; ?> <?php echo $this->lastName; ?>.</p>

Nasıl bir görünüm komut dosyası veya kontrolörün dışında kısmi görünümü yardımcısı çağırır? Ben bu doğru şekilde yaklaşıyor muyum? Ya da bu soruna daha iyi bir çözüm var mı?

0 Cevap