【发布时间】:2011-05-13 09:29:14
【问题描述】:
我需要在日历事件前一天和后一天发送提醒电子邮件。不幸的是,我不能使用规则调度程序,因为 PHP 不能操作令牌。如果我有它不起作用
[node:field_event_date-datetime] -1 day
按照预定时间。
我最终做的是为 DAY BEFORE 和 DAY AFTER 创建两个“虚拟”日期字段,我正在尝试使用诸如 strtotime() 之类的 PHP 添加到表单中,获取事件日期/减去一天,并将这些值作为将进入数据库的值。
我尝试链接到表单的#submit 部分,但在 phpMyAdmin 中,所有值都是 NULL。 对于这段代码,我什至没有更改日期,我只是试图让值出现在数据库中。
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == "event_node_form") {
$form['#submit'][] = '_mymodule_after_build';
// Makes the fields invisible
$form["field_event_day_before"]["#access"] = FALSE;
$form["field_event_day_after"]["#access"] = FALSE;
}
}
function _mymodule_after_build($form, &$form_state) {
$eventcopy = array();
// copy the value part from the Event
$eventcopy = $form['field_event_date'][0]['#value'];
// without doing any PHP yet, simply copy the values. Doesn't show up in db.
$form['field_event_day_before'][0]['#value'] = $eventcopy;
dsm($form);
return $form;
}
我已阅读有关使用 Rules Scheduler with CCK 和的教程
我也在关注Schedule email to go out based on CCK date field - not working for me
我是否使用了正确的钩子?如何正确截取输入的日期值?
【问题讨论】:
标签: drupal drupal-6 scheduling cck drupal-rules