【发布时间】:2016-07-08 12:29:41
【问题描述】:
我有一个依赖于流星电子邮件包的时事通讯。
只要管理员向集合提交新的新闻和事件条目,所有订阅者都会通过电子邮件收到此信息。这也有效。
但是,我想将新闻和事件条目的新具体链接添加到页面。
新闻和活动页面的路线:
// Specific news and events
Router.route('/news-and-events/:_id', {
name: 'newsAndEventsPage',
waitOn: function(){
return [
Meteor.subscribe('newsevents'),
Meteor.subscribe('images'),
Meteor.subscribe('categories'),
Meteor.subscribe('tags'),
]
},
data: function(){
return NewsEvents.findOne({_id: this.params._id});
},
});
添加新条目的管理路径(表单页面):
// Admin news
Router.route('/admin-news-events', {
name: 'adminNewsEvents',
waitOn: function(){
return [
Meteor.subscribe('newsevents'),
Meteor.subscribe('images'),
]
},
data: function(){
return false
},
});
将帖子提交到集合后,我尝试捕获条目并传递 id,但我只是得到未定义。
我的管理员 template.js(已编辑):
'submit form': function (evt, template) {
evt.preventDefault();
var temp = {};
temp.title = $('#title').val();
temp.description = $('#description').summernote('code');
temp.type = $('input[name=netype]:checked').val();
temp.createdAt = moment().format('ddd, DD MMM YYYY hh:mm:ss ZZ');
Meteor.call('NewsEvents.insert', temp);
Bert.alert("New entry added.");
//Fire the email to all Subscribers
var entry = NewsEvents.findOne(this._id);
var entryId = entry.id;
//NOT WORKING
var news = '<a href='+Meteor.absoluteUrl()+'news-and-events/'+entryId+'></a>';
for (i = 0; i < Subscribers.find().count(); i++) {
var email_ = Subscribers.find().fetch()[i].email;
Meteor.call('sendEmail',
email_, //To
'Open Strategy Network <xxx.yyy@zzz.yyy.xx>', //from
'Open Strategy Network News and Events', //subject
news);
}
}
服务器方法:
Meteor.methods({
'NewsEvents.insert': function (doc) {
if (this.userId) {
NewsEvents.insert(doc);
}
}
});
...
//Send emails
'sendEmail': function (to, from, subject, text) {
// check([to, from, subject, text], [String]);
this.unblock();
Email.send({
to: to,
from: from,
subject: subject,
html: text
});
},
非常感谢。
【问题讨论】:
标签: javascript mongodb meteor