遇到docBeforeSave的问题

时间:2018-02-23 18:51:19

标签: apostrophe-cms

这可能是一个愚蠢的问题,但我在撇号的子类中使用self.docBeforeSave,试图根据片段的富文本体生成片段的新属性。我能够很好地检索所有内容,但是当我尝试保存它时,没有任何内容会进入数据库。此外,我现在每次尝试保存时都会收到错误。我没有使用带下划线的房产。代码如下:

construct: function (self, options) {
    self.docBeforeSave = function (req, doc) {
        if (doc.type !== self.name) {
            return
        }
        var toc = [];
        var ind = 1;
        for (item of doc.body.items) {
            if (item.type == "apostrophe-rich-text") {
                var regexp = /<h[1-6]>(.*)<\/h[1-6]>/g;
                var headings = item.content.match(regexp);
                if (headings) {
                    for (heading of headings) {
                        var hOld = heading;
                        var hID = "sect-" + ind++;
                        var hCont = heading.replace(regexp, "$1");
                        var hNew = heading.replace(/(<h[1-6])/, "$1 id=\"" + hID + "\"");
                        item.content.replace(hOld, hNew);
                        var link = '<a href="#' + hID + '">' + hCont + '</a>';    
                        toc.push(link);
                    }
                }
            }
        }
        ind = 1;
        doc.contArr = toc;
        console.log(doc.contArr);
    }
}

0 个答案:

没有答案