mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-26 06:15:19 +08:00
'yii\mail\MessageInterface' updated:
- 'body()' renamed to 'renderBody()' - new 'body()' method introduced
This commit is contained in:
@ -54,9 +54,10 @@ abstract class BaseMailer extends Component implements MailerInterface, ViewCont
|
||||
* - 'subject' argument for [[MessageInterface::subject()]]
|
||||
* - 'text' argument for [[MessageInterface::text()]]
|
||||
* - 'html' argument for [[MessageInterface::html()]]
|
||||
* - 'body' argument for [[MessageInterface::body()]]
|
||||
* - 'renderText' list of arguments for [[MessageInterface::renderText()]]
|
||||
* - 'renderHtml' list of arguments for [[MessageInterface::renderHtml()]]
|
||||
* - 'body' list of arguments for [[MessageInterface::body()]]
|
||||
* - 'renderBody' list of arguments for [[MessageInterface::renderBody()]]
|
||||
* For example:
|
||||
* ~~~
|
||||
* array(
|
||||
@ -132,11 +133,12 @@ abstract class BaseMailer extends Component implements MailerInterface, ViewCont
|
||||
'subject',
|
||||
'text',
|
||||
'html',
|
||||
'body',
|
||||
];
|
||||
$setupMethodNames = [
|
||||
'renderText',
|
||||
'renderHtml',
|
||||
'body',
|
||||
'renderBody',
|
||||
];
|
||||
$directSetterConfig = [];
|
||||
$setupMethodConfig = [];
|
||||
|
@ -43,6 +43,21 @@ abstract class BaseMessage extends Object implements MessageInterface
|
||||
return $this->getMailer()->send($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function body($body)
|
||||
{
|
||||
if (is_array($body)) {
|
||||
$this->html($body['html']);
|
||||
$this->text($body['text']);
|
||||
} else {
|
||||
$this->html($body);
|
||||
$this->text(strip_tags($body));
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
@ -64,15 +79,14 @@ abstract class BaseMessage extends Object implements MessageInterface
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function body($view, $params = [])
|
||||
public function renderBody($view, $params = [])
|
||||
{
|
||||
if (is_array($view)) {
|
||||
$this->renderHtml($view['html'], $params);
|
||||
$this->renderText($view['text'], $params);
|
||||
} else {
|
||||
$html = $this->getMailer()->render($view, $params, $this->getMailer()->htmlLayout);
|
||||
$this->html($html);
|
||||
$this->text(strip_tags($html));
|
||||
$this->body($html);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
@ -96,6 +96,16 @@ interface MessageInterface
|
||||
*/
|
||||
public function html($html);
|
||||
|
||||
/**
|
||||
* Sets message HTML and plain text content.
|
||||
* @param string|array $body varies method behavior depending on type:
|
||||
* - string - the HTML body content, in this case text body will be composed from
|
||||
* html one using [[strip_tags()]] function.
|
||||
* - array - list of body contents for each body type in format: ['html' => 'htmlContent', 'text' => 'textContent']
|
||||
* @return static self reference.
|
||||
*/
|
||||
public function body($body);
|
||||
|
||||
/**
|
||||
* Attaches existing file to the email message.
|
||||
* @param string $fileName full file name
|
||||
@ -175,7 +185,7 @@ interface MessageInterface
|
||||
* @param array $params the parameters (name-value pairs) that will be extracted and made available in the view file.
|
||||
* @return static self reference.
|
||||
*/
|
||||
public function body($view, $params = []);
|
||||
public function renderBody($view, $params = []);
|
||||
|
||||
/**
|
||||
* Returns string representation of this message.
|
||||
|
@ -65,7 +65,7 @@ class BaseMessageTest extends TestCase
|
||||
$message = $mailer->compose();
|
||||
|
||||
$viewName = 'test/html/view';
|
||||
$message->body($viewName);
|
||||
$message->renderBody($viewName);
|
||||
$expectedHtml = 'view=' . $viewName . ' layout=' . $mailer->htmlLayout;
|
||||
$this->assertEquals($expectedHtml, $message->html, 'Unable to compose html!');
|
||||
$expectedText = strip_tags($expectedHtml);
|
||||
@ -73,7 +73,7 @@ class BaseMessageTest extends TestCase
|
||||
|
||||
$textViewName = 'test/text/view';
|
||||
$htmlViewName = 'test/html/view';
|
||||
$message->body(['text' => $textViewName, 'html' => $htmlViewName]);
|
||||
$message->renderBody(['text' => $textViewName, 'html' => $htmlViewName]);
|
||||
$expectedHtml = 'view=' . $htmlViewName . ' layout=' . $mailer->htmlLayout;
|
||||
$this->assertEquals($expectedHtml, $message->html, 'Unable to compose html from separated view!');
|
||||
$expectedText = 'view=' . $textViewName . ' layout=' . $mailer->textLayout;
|
||||
|
Reference in New Issue
Block a user