繁体   English   中英

CodeIgniter - 将 WYSIWYG 编辑器的 HTML 内容保存在数据库中以供日后使用

[英]CodeIgniter - Save HTML content of WYSIWYG editor in a database to be used at a later date

这可能是一个长期目标,但我正在努力在网上寻求帮助,而且我真的很迷茫..

我正在构建一个 CodeIgniter Web 应用程序,用户可以在其中登录并创建电子邮件模板,然后将它们发送给联系人。

我正在使用Trumbowyg 编辑器创建电子邮件模板,我发现它非常好且灵活,我有预制的模板,用户可以根据需要选择和编辑..

然而,我想要的是让用户创建自己的模板,或对现有模板进行编辑,然后将其保存以便日后返回。我认为可以将其保存到我的数据库中,我使用外键等正确设置模板表,并且我将“模板样式”字段类型设置为“blob”,以便在此处保存内容..

我能够获得所见即所得的内容,因为当我测试单击 saveContent 按钮的代码时,我在 console.log 中获得了当前内容;

 $("#saveContent").click(function(){ console.log($("#trumbowyg-demo").html()); });

所以我需要的是将此内容保存到我的数据库模板表中,该表有 3 列; '一个 id、用户的外键 id 和模板样式..

我意识到这里有很多东西,提供任何代码以帮助我设置它以保存我的数据库将不胜感激

提前致谢!

一般来说,您只需将一个带有一个变量的简单帖子发送到一个控制器方法,该方法接收帖子变量并将其输入到数据库中。

JS:

$("#saveContent").click(function () {
    var content = $("#trumbowyg-demo").html();
    $.ajax({
        type: 'POST',
        url: '/somecontroller/add',
        data: {
            content: content
        },
        dataType: 'json',
        success: function (data) {
            if (data.status == 'error') {
                alert('An error occured: ' + data.msg);
            } else {
                alert('Success: ' + data.msg)
            }
        }
    });
});

PHP:

class Somecontroller extends CI_Controller {

    public function add() {

        $content = $this->input->post('content');

        if (empty($content)) {
            echo json_encode(array('status' => 'error', 'msg' => 'Content field cannot be empty!'));
            exit;
        }

        // db functions should be move to a model
        // probably would be a good idea to filter $content somehow
        // all the db insert does is escape
        $this->db->insert('sometable', array('somefield' => $content));

        echo json_encode(array('status' => 'success', 'msg' => 'Item added with id: ' . $this->db->insert_id()));
        exit;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM