1515 */
1616class Renderer
1717{
18+ const DEFAULT_TEMPLATE = "{{var name}} \n" .
19+ "{{var street_line1}} \n" .
20+ "{{depend street_line2}}{{var street_line2}} \n{{/depend}} " .
21+ "{{depend city}}{{var city}},{{/depend}} {{var region}} {{depend postcode}}{{var postcode}},{{/depend}} \n" .
22+ "{{var country}} " ;
23+
1824 /**
1925 * @var EventManager
2026 */
@@ -25,18 +31,26 @@ class Renderer
2531 */
2632 protected $ filterManager ;
2733
34+ /**
35+ * @var string
36+ */
37+ private $ template ;
38+
2839 /**
2940 * Constructor
3041 *
3142 * @param EventManager $eventManager
3243 * @param FilterManager $filterManager
44+ * @param string $template
3345 */
3446 public function __construct (
3547 EventManager $ eventManager ,
36- FilterManager $ filterManager
48+ FilterManager $ filterManager ,
49+ $ template = self ::DEFAULT_TEMPLATE
3750 ) {
3851 $ this ->eventManager = $ eventManager ;
3952 $ this ->filterManager = $ filterManager ;
53+ $ this ->template = $ template ;
4054 }
4155
4256 /**
@@ -50,9 +64,7 @@ public function format(DataObject $storeInfo, $type = 'html')
5064 {
5165 $ this ->eventManager ->dispatch ('store_address_format ' , ['type ' => $ type , 'store_info ' => $ storeInfo ]);
5266 $ address = $ this ->filterManager ->template (
53- "{{var name}} \n{{var street_line1}} \n{{depend street_line2}}{{var street_line2}} \n{{/depend}} " .
54- "{{depend city}}{{var city}},{{/depend}} {{var region}} {{depend postcode}}{{var postcode}},{{/depend}} \n" .
55- "{{var country}} " ,
67+ $ this ->template ,
5668 ['variables ' => $ storeInfo ->getData ()]
5769 );
5870
0 commit comments