|
|
@@ -18,6 +18,8 @@ namespace Cake\View\Helper;
|
|
|
|
|
|
use Cake\Network\Session;
|
|
|
use Cake\View\Helper;
|
|
|
+use Cake\View\Helper\StringTemplateTrait;
|
|
|
+use Cake\View\View;
|
|
|
|
|
|
/**
|
|
|
* Session Helper.
|
|
|
@@ -28,6 +30,30 @@ use Cake\View\Helper;
|
|
|
*/
|
|
|
class SessionHelper extends Helper {
|
|
|
|
|
|
+ use StringTemplateTrait;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Default templates to use.
|
|
|
+ *
|
|
|
+ * @var array
|
|
|
+ */
|
|
|
+ protected $_defaultTemplates = [
|
|
|
+ 'flash' => '<div id="{{key}}Message" class="{{class}}">{{message}}</div>'
|
|
|
+ ];
|
|
|
+
|
|
|
+/**
|
|
|
+ * Construct the helper and sets up templates
|
|
|
+ *
|
|
|
+ * @param \Cake\View\View $view The View this helper is being attached to.
|
|
|
+ * @param array $settings Configuration settings for the helper.
|
|
|
+ */
|
|
|
+ public function __construct(View $view, $settings = []) {
|
|
|
+ $settings += ['templates' => null];
|
|
|
+ parent::__construct($view, $settings);
|
|
|
+
|
|
|
+ $this->initStringTemplates($this->_defaultTemplates);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Used to read a session values set in a controller for a key or return values for all keys.
|
|
|
*
|
|
|
@@ -103,8 +129,8 @@ class SessionHelper extends Helper {
|
|
|
*
|
|
|
* {{{
|
|
|
* echo $this->Session->flash('flash', array(
|
|
|
- * 'element' => 'my_custom_element',
|
|
|
- * 'params' => array('plugin' => 'my_plugin')
|
|
|
+ * 'element' => 'my_custom_element',
|
|
|
+ * 'params' => array('plugin' => 'my_plugin')
|
|
|
* ));
|
|
|
* }}}
|
|
|
*
|
|
|
@@ -131,7 +157,11 @@ class SessionHelper extends Helper {
|
|
|
if (!empty($flash['params']['class'])) {
|
|
|
$class = $flash['params']['class'];
|
|
|
}
|
|
|
- $out = '<div id="' . $key . 'Message" class="' . $class . '">' . $message . '</div>';
|
|
|
+ $out = $this->formatTemplate('flash', [
|
|
|
+ 'class' => $class,
|
|
|
+ 'key' => $key,
|
|
|
+ 'message' => $message
|
|
|
+ ]);
|
|
|
} elseif (!$flash['element']) {
|
|
|
$out = $message;
|
|
|
} else {
|