簡體   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