18
18
19
19
use Cake \Network \Session ;
20
20
use Cake \View \Helper ;
21
+ use Cake \View \Helper \StringTemplateTrait ;
22
+ use Cake \View \View ;
21
23
22
24
/**
23
25
* Session Helper.
28
30
*/
29
31
class SessionHelper extends Helper {
30
32
33
+ use StringTemplateTrait;
34
+
35
+ /**
36
+ * Default templates to use.
37
+ *
38
+ * @var array
39
+ */
40
+ protected $ _defaultTemplates = [
41
+ 'flash ' => '<div id="{{key}}Message" class="{{class}}">{{message}}</div> '
42
+ ];
43
+
44
+ /**
45
+ * Construct the helper and sets up templates
46
+ *
47
+ * @param \Cake\View\View $view The View this helper is being attached to.
48
+ * @param array $settings Configuration settings for the helper.
49
+ */
50
+ public function __construct (View $ view , $ settings = []) {
51
+ $ settings += ['templates ' => null ];
52
+ parent ::__construct ($ view , $ settings );
53
+
54
+ $ this ->initStringTemplates ($ this ->_defaultTemplates );
55
+ }
56
+
31
57
/**
32
58
* Used to read a session values set in a controller for a key or return values for all keys.
33
59
*
@@ -103,8 +129,8 @@ public function error() {
103
129
*
104
130
* {{{
105
131
* echo $this->Session->flash('flash', array(
106
- * 'element' => 'my_custom_element',
107
- * 'params' => array('plugin' => 'my_plugin')
132
+ * 'element' => 'my_custom_element',
133
+ * 'params' => array('plugin' => 'my_plugin')
108
134
* ));
109
135
* }}}
110
136
*
@@ -131,7 +157,11 @@ public function flash($key = 'flash', $attrs = array()) {
131
157
if (!empty ($ flash ['params ' ]['class ' ])) {
132
158
$ class = $ flash ['params ' ]['class ' ];
133
159
}
134
- $ out = '<div id=" ' . $ key . 'Message" class=" ' . $ class . '"> ' . $ message . '</div> ' ;
160
+ $ out = $ this ->formatTemplate ('flash ' , [
161
+ 'class ' => $ class ,
162
+ 'key ' => $ key ,
163
+ 'message ' => $ message
164
+ ]);
135
165
} elseif (!$ flash ['element ' ]) {
136
166
$ out = $ message ;
137
167
} else {
0 commit comments