0

打字稿3 6.1

我正在为我的 extbase 扩展编写一个 tcemain 挂钩。我已经在“myextension/Classes/Hooks/myTcemainHook.php 中包含了那个钩子 php 文件。在这个钩子中,我在将记录保存在后端时操纵来自 tca 的数据。我正在将操纵的数据写入一些文本文件。

目前我正在字符串中获取操作数据并将该字符串写入文件,如下所示

public function processDatamap_afterAllOperations(&$pObj){
  //Write content to a file
  $textFileCnt = 'Label: '.'manipulated text content, that needs to write to file';
  $textFileCnt .= 'Labe2: '.'manipulated text content, that needs to write to file';
  $file1 =   \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('fileadmin/printer/printer.txt');
\TYPO3\CMS\Core\Utility\GeneralUtility::writeFile($file1, $textFileCnt);
}

但在这里我的要求是为此使用流体模板。所以文件内容必须使用流体模板格式化,然后写入文件。

如何做到这一点?有什么帮助吗?

4

1 回答 1

0

看一下独立视图:

http://forge.typo3.org/projects/typo3v4-mvc/wiki/How_to_use_the_Fluid_Standalone_view_to_render_template_based_emails

 1 /**
 2 * @param array $recipient 电子邮件的收件人,格式为 array('recipient@domain.tld' => 'Recipient Name')
 3 * @param array $sender 电子邮件的发件人,格式为 array('sender@domain.tld' => 'Sender Name')
 4 * @param string $subject 邮件的主题
 5 * @param string $templateName 模板名称 (UpperCamelCase)
 6 * @param array $variables 要传递给流体视图的变量
 7 * @return boolean 成功时为真,否则为假
 8 */
 9 受保护的函数 sendTemplateEmail(array $recipient, array $sender, $subject, $templateName, array $variables = array()) {
10 /** @var \TYPO3\CMS\Fluid\View\StandaloneView $emailView */
11 $emailView = $this->objectManager->get('TYPO3\\CMS\\Fluid\\View\\StandaloneView');
12
13 $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
14 $templateRootPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($extbaseFrameworkConfiguration['view']['templateRootPath']);
15 $templatePathAndFilename = $templateRootPath 。'电子邮件/' 。$模板名称。'.html';
16 $emailView->setTemplatePathAndFilename($templatePathAndFilename);
17 $emailView->assignMultiple($variables);
18 $emailBody = $emailView->render();
19
20 /** @var $message \TYPO3\CMS\Core\Mail\MailMessage */
21 $message = $this->objectManager->get('TYPO3\\CMS\\Core\\Mail\\MailMessage');
22 $message->setTo($recipient)
23->setFrom($发件人)
24->设置主题($主题);
25
26 // 这里可能的附件
27 //foreach ($attachments as $attachment) {
28 // $message->attach($attachment);
29 //}
30
31 // 纯文本示例
32 $message->setBody($emailBody, 'text/plain');
33
34 // HTML 电子邮件
35 #$message->setBody($emailBody, 'text/html');
36
37 $消息->发送();
38 返回 $message->isSent();
39 }

于 2013-10-16T22:26:49.470 回答