TYPO3:没有带有direct_mail和调度程序的更新时事通讯

时间:2013-09-17 13:29:12

标签: typo3 newsletter

这是我在这个论坛上的第一个问题...所以,请放纵!

我正在使用 TYPO3 4.7.11 (PHP 5.3.3),扩展名为 direct_mail 3.1.1 ,用于非盈利公司的内部网站点。

我的问题(可能与Bug#51583:http://forge.typo3.org/issues/51583相关联)是经过多次测试和尝试后,似乎无法以自动调度程序驱动的方式将页面的更新版本保存为新闻稿的草稿:使用与首次创建和保存当天相同的信息生成相同的新闻稿。

用于简报的特定页面包含内容元素“菜单/站点地图”,“最近更新的页面”为“菜单类型”。它已在Direct Mail中保存为“草稿(针对重复发送)”。

调度程序包含这两个具有重复类型的任务:

- Direct Mail: Create Mail from Draft (direct_mail)
- Direct Mail: Mailing Queue (direct_mail)

注意:手动方式功能齐全,所生成的新闻稿实际更新。与“Testmail - Simple”选项相同!

所以,我的问题似乎与自动预定邮件有关!看起来新闻稿草稿已经变成特定时刻的冻结快照,并且在调度程序模式下调用Typo3无法更新/重新计算此页面。

在网络上,我看到报告的问题可能与“通过调度程序发送邮件相同的主题用于所有发送(https://review.typo3.org/21313)”和“通过调度程序发送直接邮件时添加挂钩”有关(forge.typo3.org/issues/48994)“,但这些问题似乎是用direct_mail 3.1.1版本修复的。

我做了这些观察,在我看来,有一些相关性:

1. Direct Mailer中的“设置邮件内容提取选项的默认值”下的“内部链接域”下拉列表中没有提出域名,但我在 sys_domain <中有一条记录/ strong>具有域名的表(没有协议,没有最终斜杠)。有没有理由说这个记录不合适,或者它不是正确的表格? (uid = 3,pid,tstamp,crdate,cruser_id,hidden,sorting,prepend_params和forced = 0,redirectHttpStatusCode = 301,domain_name = site.subdomain.domain,redirectTo =)

2.在Typo 3 Log中,我收到用户 _cli_scheduler @LIVE 的系统错误消息:

  

核心:错误处理程序(BE):PHP警告:提供的参数无效   foreach()in   ... typo3conf / ext / direct_mail / Classes / Scheduler / MailFromDraft.php行   125。

MailFromDraft.php的相关部分是这个函数:initializeHookObjects

...       / *

  * Initializes hook objects for this class

  *

  * @return    void

  */

 function initializeHookObjects() {

     foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['direct_mail']['mailFromDraft'] as $hookObj) {

         $hookObjectInstance = t3lib_div::getUserObj($hookObj);

         if (is_object($hookObjectInstance) && ($hookObjectInstance instanceof x_directmail_Scheduler_MailFromDraftHook)) {

             $this->hookObjects[] = $hookObjectInstance;

         }

     }

 }

 ...

我不确定非常清楚地理解钩子对象的起源和用法......(尽管Robert Lemke写了这篇有趣的文章:typo3.org/documentation/article/how-to-use-existing -hooks-in-own-extension-extension /)

3.没有像明显要求的 GLOBALS ['TYPO3_CONF_VARS'] ['SC_OPTIONS'] ['direct_mail'] ['mailFromDraft'] 似乎存在于TYPO3_CONF_VARS(全局配置)中。

任何人都可以给我一个建议或线索,了解发生了什么以及为什么我无法通过调度程序获得每周更新的时事通讯?我觉得有点困惑!

提前感谢任何建议或解决方案(如果可能出现奇迹)。

问候。

P-H SILLIAU

2 个答案:

答案 0 :(得分:0)

我以前读过这个问题,但不记得在哪里。 谷歌搜索“direct_mail草稿(定期发送)”帮助。

尝试此错误:http://forge.typo3.org/issues/4421

用户Markus说:

  

当您在系统中设置域记录时,一切正常   在direct_mail设置中选择它!

     

如果您没有域记录并在direct_mail中指定它   设置你能够发送正常的新闻通讯,但如果你尝试   草稿功能因为getUrlBase函数而无法工作   class.tx_directmail_static.php返回一个不合适的URL到系统   所以它不能使用fetchHTML($ file)并退出 - 因此不能   替换第一次启动时创建的旧草稿内容。

     

我真的不明白为什么这会在您第一次设置草稿时起作用   虽然....

     

因此,设置域记录是一种有效的解决方法。

我希望它能做到!

可能您会找到更多相关主题。

否则,解决方法将是

  • 重新考虑任务。因为它是一个NPO内联网,如果再次被问到,可能不是突然需要的要求: - )
  • 设置仅执行该精确作业的自定义通知工具。

答案 1 :(得分:0)

为了结束这个问题,经过多次尝试(以及从互联网上收集的信息),以下是我们在特定情况下最终使用的解决方案,以使新闻通讯工作:

第一。我们在表 sys_domain 中创建了一条记录。这是手册和论坛中的经常性指令,而且是恕我直言合法的。

重要提示:请注意 redirectTo 字段必须保持为空,因为如果填写了网站的全局故障(无论我们输入的内容如/,/ var / www / sitename,... )

第二。模板中包含的所有图像,CSS,JS都必须进行硬编码(例如,http://site/fileamin/images/xxx.png)。如果我们不这样做,结果将是新通讯制作中的中止:未找到...也许,通过深入挖掘,我们是否能够找到一个我们忘记或忽略的参数解决这个问题...

第三。在时事通讯模板TS设置中,我们添加了以下两个参数:

  • mod.web_modules.dmail.use_domain = [uid of sys-domain]

  • config.absRefPrefix = / (为了摆脱PHP DOCUMENT_ROOT(或TYPO3_DOCUMENT_ROOT?),否则会错误地出现在所有生成的链接中。)

结果现在是一个动态生成的新闻通讯,日期还可以,所有链接都是正确的,并且 realUrl -compliant(no ../index.php?id=nnn)...你知道吗?...我们很高兴! : - )

希望它会有所帮助!

非常感谢所有回答过的人(Markus,Urs ......)或者甚至想过可能的解决方案......

P-H Silliau