这是我在这个论坛上的第一个问题......所以,请放纵!
我正在使用带有扩展名direct_mail 3.1.1的TYPO3 4.7.11 (PHP 5.3.3)用于一家非营利公司的 Intranet 站点。
我的问题(可能与错误 #51583 相关:http://forge.typo3.org/issues/51583 )是,经过多次测试和尝试,似乎不可能将页面的更新版本保存为时事通讯草稿一种自动调度程序驱动的方式:生成相同的时事通讯,其信息与第一次创建和保存时已经存在的信息相同。
用于时事通讯的特定页面包括一个内容元素“菜单/站点地图”,其中“最近更新的页面”作为“菜单类型”。它已在 Direct Mail 中保存为“草稿(用于定期发送)”。
调度程序包含这 2 个具有重复类型的任务:
- 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表中有一个带有域名的记录(带有没有协议,也没有最后的斜线)。有没有理由认为这条记录不好,或者它不是正确的表?(uid=3, pid, tstamp, crdate, cruser_id, hidden, 排序, prepend_params 和forced=0, redirectHttpStatusCode=301, domain_name=site.subdomain.domain, redirectTo=)
2.在 Typo 3 日志中,我收到了用户_cli_scheduler@LIVE的系统错误消息:
核心:错误处理程序 (BE):PHP 警告:在 ...typo3conf/ext/direct_mail/Classes/Scheduler/MailFromDraft.php 第 125 行中为 foreach() 提供的参数无效。
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-在你自己的扩展/)
3.TYPO3_CONF_VARS (全局配置)中似乎不存在明显请求的GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['direct_mail']['mailFromDraft'] 。
任何人都可以给我一个建议或线索,告诉我发生了什么以及为什么我无法通过调度程序获得每周更新的时事通讯?我觉得有点糊涂!
提前感谢您的任何建议或解决方案(如果可能出现奇迹)。
问候。
PH SILLIAU