From 35757e21ed2dbe72de3d7dcb121cbe41916a42c3 Mon Sep 17 00:00:00 2001
From: Torsten Oppermann <torsten@sgalinski.de>
Date: Tue, 19 Sep 2017 13:16:35 +0200
Subject: [PATCH] [TASK] Fixing multiple word tempalte name / directory mapping

---
 Classes/Service/MailTemplateService.php | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php
index b41ad3bb..cab302ba 100644
--- a/Classes/Service/MailTemplateService.php
+++ b/Classes/Service/MailTemplateService.php
@@ -50,6 +50,7 @@ class MailTemplateService {
 	const MARKER_TYPE_ARRAY = 'Array';
 	const MARKER_TYPE_OBJECT = 'Object';
 	const DEFAULT_LANGUAGE = 'default';
+	const DEFAULT_TEMPLATE_PATH = 'Resources/Private/Templates/SgMail/';
 
 	/**
 	 * @var array $registerArray
@@ -757,9 +758,15 @@ class MailTemplateService {
 	private static function registerByConfigArray(array $config = [], $extensionName) {
 		$extensionKey = $config['extension_key'];
 		$templateKey = $config['template_key'];
-		$templatePath = ExtensionManagementUtility::extPath(
-				$extensionName
-			) . 'Resources/Private/Templates/SgMail/' . ucfirst($config['template_key'] . '/');
+
+		// transform template directory name: your_templates => YourTemplates/
+		$templateDirectoryParts = GeneralUtility::trimExplode('_', $config['template_key']);
+		$templateDirectory = '';
+		foreach ($templateDirectoryParts as $part) {
+			$templateDirectory .= ucfirst($part);
+		}
+		$templateDirectory .= '/';
+		$templatePath = ExtensionManagementUtility::extPath($extensionName) . self::DEFAULT_TEMPLATE_PATH . $templateDirectory;
 
 		if ($config['template_path']) {
 			$templatePath = $config['template_key'];
-- 
GitLab