鑰匙要點
>利用HTML/CSS/JavaScript/jQuery和Bootstrap的組合來確保響應能力和易於設計。>您可能是尋求挑戰的開發人員,負責創建CMS的學生或渴望成為CMS行業大牌的企業。如果您想創建一個內容管理系統,那麼本文適合您。
準備自己構建自己的CMS
我們將使用以下工具製作基本(即足夠可用的)CMS: CMS中有什麼? 通常,在內容管理系統中,有管理員和最終用戶。管理員管理網站的頁面,組件和內容。他們維護網站,確保每個功能都可以使用,並在需要時進行改進。
另一方面,最終用戶與CMS驅動網站的頁面和組件進行交互,以創建,編輯和消費內容。兩個用戶通常都與CMS中的Wysiwyg編輯器進行交互,以創建和編輯。
出於演示目的,為了使事情變得簡單,我們將僅針對管理員實施單頁CMS。在生產CMS中,我們需要考慮許多其他因素,這些因素超出了本教程的範圍。其中包括用戶管理和訪問權限,安全性(輸入消毒,參數化查詢等),性能等。 在我們的簡單CMS中,管理員應該能夠執行以下任務: 與Froala實例進行交互,以發布將顯示的內容 >查看發布的內容 輸入視圖模式,它隱藏了工具欄
>
>第一表,即帖子,將存儲從編輯器組件中存儲內容,而組件表將存儲使用工具欄生成的頁面元素。
請注意,在大多數瀏覽器中,URL具有2048個字符的最大長度,但在我們的數據庫中,我們僅將其設置為255個字符。此外,您可能還需要將兩個表的ID列更改為應用程序的隨機字符串。 我們將包括Bootstrap,Bootstrap圖標以及Froala的CSS和JS文件的CDN鏈接。我們還將擁有我們的自定義CSS和JS文件: >我們將要處理的以下組件是Navbar和工具欄。 Navbar包含網站的標題或品牌以及用於切換工具欄可見性的圖標按鈕(將其視為“ Toggle Admin View”按鈕)。
> navbar , cards ,或> offcanvas elements。在這種情況下,我們使用類似卡的矩形表示它們,每個矩形都具有按鈕狀的行為。
其他模式的工作方式相似,但是請注意,正確的鏈接輸入應具有文本和URL的兩個輸入字段(目前,我們僅使用一個): >
getComponents()
> getPosts()
>
在上面的視頻中,我們可以看到功能強大的Wysiwyg編輯器可以提供的一些功能。這些包括字體格式,保留格式時的複制和圖像上傳。它還顯示了角色計數作家的右下角的字符數。
>
>與工具欄進行交互以創建頁面組件,例如標題,文本,鏈接和FROALA編輯器實例
組件
創建接口
<span><!--Include Bootstrap CSS-->
</span><span><span><span><link</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"</span> rel<span>="stylesheet"</span> integrity<span>="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"</span> crossorigin<span>="anonymous"</span>></span>
</span>
<span><!--Include Bootstrap Icons-->
</span><span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"</span>></span>
</span>
<span><!--Include Froala Editor CSS-->
</span><span><span><span><link</span> href<span>="css/froala_editor.pkgd.min.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Custom CSS-->
</span><span><span><span><link</span> href<span>="css/index.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Popper JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js"</span> integrity<span>="sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Bootstrap JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.min.js"</span> integrity<span>="sha384-ODmDIVzN+pFdexxHEHFBQH3/9/vQ9uori45z4JjnFsRydbmQbmL5t1tQ0culUzyK"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include jQuery-->
</span><span><span><span><script</span> src<span>="https://code.jquery.com/jquery-3.6.1.js"</span> integrity<span>="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI="</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Froala JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/froala_editor.pkgd.min.js"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Custom JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/index.js"</span>></span><span><span></script</span>></span>
</span>
<span><span><span><div</span> class<span>="row"</span>></span>
</span> <span><span><span><nav</span> class<span>="navbar navbar-expand-xl"</span>></span>
</span> <span><span><span><div</span> class<span>="container-fluid"</span>></span>
</span> <span><span><span><a</span> class<span>="navbar-brand text-white"</span> href<span>="#"</span>></span>Froala CMS<span><span></a</span>></span>
</span> <span><span><span><ul</span> class<span>="navbar-nav me-auto mb-2 mb-lg-0"</span>></span>
</span> <span><span><span><li</span> class<span>="nav-item"</span>></span>
</span> <span><span><span><a</span> class<span>="bi bi-eye text-white"</span> href<span>="#"</span> <span>onclick<span>="<span>toggleToolbar()</span>"</span></span>></span><span><span></a</span>></span>
</span> <span><span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></nav</span>></span>
</span><span><span><span></div</span>></span>
</span>
<span><span><span><div</span> class<span>="row mt-5 px-xl-5 mx-xl-5"</span> id<span>="toolbar"</span>></span>
</span> <span><span><span><p</span> class<span>="lead ms-xl-5"</span>></span>
</span> This is your CMS toolbar. You can add new components to your page by clicking any of the buttons below. To toggle the visibility of the toolbar, click the eye (<span><span><span><i</span> class<span>="bi bi-eye"</span>></span><span><span></i</span>></span>) icon on the navbar.
</span> <span><span><span></p</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#headingModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-type-h1"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Heading<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#textModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-fonts"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Text<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#linkModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-link-45deg"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Link<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> <span>onclick<span>="<span>createComponent('editor')</span>"</span></span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-pencil-square"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Editor<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span>
<span><span><span><div</span> class<span>="modal fade"</span> id<span>="headingModal"</span> tabindex<span>="-1"</span> aria-labelledby<span>="headingModalLabel"</span> aria-hidden<span>="true"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-dialog"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-content"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-header"</span>></span>
</span> <span><span><span><h5</span> class<span>="modal-title"</span> id<span>="headingModalLabel"</span>></span>Add a heading:<span><span></h5</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn-close"</span> data-bs-dismiss<span>="modal"</span> aria-label<span>="Close"</span>></span><span><span></button</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="modal-body"</span>></span>
</span> <span><span><span><div</span> class<span>="mb-3"</span>></span>
</span> <span><span><span><input</span> type<span>="text"</span> class<span>="form-control"</span> id<span>="headingContent"</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="modal-footer"</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn btn-light"</span> <span>onclick<span>="<span>resetValue('heading')</span>"</span></span> data-bs-dismiss<span>="modal"</span>></span>Cancel<span><span></button</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn btn-primary"</span> <span>onclick<span>="<span>createComponent('heading')</span>"</span></span> data-bs-dismiss<span>="modal"</span>></span>Save<span><span></button</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span><span><span><span></div</span>></span>
</span>
<span><!--Include Bootstrap CSS-->
</span><span><span><span><link</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"</span> rel<span>="stylesheet"</span> integrity<span>="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"</span> crossorigin<span>="anonymous"</span>></span>
</span>
<span><!--Include Bootstrap Icons-->
</span><span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"</span>></span>
</span>
<span><!--Include Froala Editor CSS-->
</span><span><span><span><link</span> href<span>="css/froala_editor.pkgd.min.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Custom CSS-->
</span><span><span><span><link</span> href<span>="css/index.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Popper JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js"</span> integrity<span>="sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Bootstrap JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.min.js"</span> integrity<span>="sha384-ODmDIVzN+pFdexxHEHFBQH3/9/vQ9uori45z4JjnFsRydbmQbmL5t1tQ0culUzyK"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include jQuery-->
</span><span><span><span><script</span> src<span>="https://code.jquery.com/jquery-3.6.1.js"</span> integrity<span>="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI="</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Froala JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/froala_editor.pkgd.min.js"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Custom JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/index.js"</span>></span><span><span></script</span>></span>
</span>
在我們的index.js文件中,我們將為以下功能定義五個功能:創建組件,切換工具欄可見性,重置輸入字段,加載帖子和加載組件。讓我們看看他們每個人的所作所為。
> createComponent(componentType)
元素)動態生成HTML。之後,對於每個編輯器組件,將Froala實例與保存按鈕一起初始化。最後,單擊事件偵聽器被添加到按鈕中,以保存編輯器中寫的帖子。關於成功,getPosts()函數被要求“刷新”帖子列表。
準備後端
正如您之前可能注意到的那樣,我們有四個PHP文件 - 兩個用於添加組件和帖子的文件,兩個用於加載它們。它們由類似的代碼組成,從使用SQLSRV_Connect連接到數據庫,獲取$ _POST變量(如果有),然後定義和運行查詢。下面列出的是這些文件中涉及的查詢:load.php:
<span><!--Include Bootstrap CSS-->
</span><span><span><span><link</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"</span> rel<span>="stylesheet"</span> integrity<span>="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx"</span> crossorigin<span>="anonymous"</span>></span>
</span>
<span><!--Include Bootstrap Icons-->
</span><span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css"</span>></span>
</span>
<span><!--Include Froala Editor CSS-->
</span><span><span><span><link</span> href<span>="css/froala_editor.pkgd.min.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Custom CSS-->
</span><span><span><span><link</span> href<span>="css/index.css"</span> rel<span>="stylesheet"</span> type<span>="text/css"</span> /></span>
</span>
<span><!--Include Popper JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.5/dist/umd/popper.min.js"</span> integrity<span>="sha384-Xe+8cL9oJa6tN/veChSP7q+mnSPaj5Bcu9mPX5F5xIGE0DVittaqT5lorf0EI7Vk"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Bootstrap JS-->
</span><span><span><span><script</span> src<span>="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.min.js"</span> integrity<span>="sha384-ODmDIVzN+pFdexxHEHFBQH3/9/vQ9uori45z4JjnFsRydbmQbmL5t1tQ0culUzyK"</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include jQuery-->
</span><span><span><span><script</span> src<span>="https://code.jquery.com/jquery-3.6.1.js"</span> integrity<span>="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI="</span> crossorigin<span>="anonymous"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Froala JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/froala_editor.pkgd.min.js"</span>></span><span><span></script</span>></span>
</span>
<span><!--Include Custom JS-->
</span><span><span><span><script</span> type<span>="text/javascript"</span> src<span>="js/index.js"</span>></span><span><span></script</span>></span>
</span>
loadposts.php:
<span><span><span><div</span> class<span>="row"</span>></span>
</span> <span><span><span><nav</span> class<span>="navbar navbar-expand-xl"</span>></span>
</span> <span><span><span><div</span> class<span>="container-fluid"</span>></span>
</span> <span><span><span><a</span> class<span>="navbar-brand text-white"</span> href<span>="#"</span>></span>Froala CMS<span><span></a</span>></span>
</span> <span><span><span><ul</span> class<span>="navbar-nav me-auto mb-2 mb-lg-0"</span>></span>
</span> <span><span><span><li</span> class<span>="nav-item"</span>></span>
</span> <span><span><span><a</span> class<span>="bi bi-eye text-white"</span> href<span>="#"</span> <span>onclick<span>="<span>toggleToolbar()</span>"</span></span>></span><span><span></a</span>></span>
</span> <span><span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></nav</span>></span>
</span><span><span><span></div</span>></span>
</span>
add.php:
<span><span><span><div</span> class<span>="row mt-5 px-xl-5 mx-xl-5"</span> id<span>="toolbar"</span>></span>
</span> <span><span><span><p</span> class<span>="lead ms-xl-5"</span>></span>
</span> This is your CMS toolbar. You can add new components to your page by clicking any of the buttons below. To toggle the visibility of the toolbar, click the eye (<span><span><span><i</span> class<span>="bi bi-eye"</span>></span><span><span></i</span>></span>) icon on the navbar.
</span> <span><span><span></p</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#headingModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-type-h1"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Heading<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#textModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-fonts"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Text<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> data-bs-toggle<span>="modal"</span> data-bs-target<span>="#linkModal"</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-link-45deg"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Link<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="col-xxl-3 col-md-4"</span>></span>
</span> <span><span><span><div</span> class<span>="m-xl-5 shadow p-xl-5 rounded border border-0 toolbarBox"</span> <span>onclick<span>="<span>createComponent('editor')</span>"</span></span>></span>
</span> <span><span><span><div</span> class<span>="row text-center display-4"</span>></span>
</span> <span><span><span><i</span> class<span>="bi bi-pencil-square"</span>></span><span><span></i</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="row text-center h3"</span>></span>
</span> <span><span><span><label</span>></span>Editor<span><span></label</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span>
> addpost.php:
<span><span><span><div</span> class<span>="modal fade"</span> id<span>="headingModal"</span> tabindex<span>="-1"</span> aria-labelledby<span>="headingModalLabel"</span> aria-hidden<span>="true"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-dialog"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-content"</span>></span>
</span> <span><span><span><div</span> class<span>="modal-header"</span>></span>
</span> <span><span><span><h5</span> class<span>="modal-title"</span> id<span>="headingModalLabel"</span>></span>Add a heading:<span><span></h5</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn-close"</span> data-bs-dismiss<span>="modal"</span> aria-label<span>="Close"</span>></span><span><span></button</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="modal-body"</span>></span>
</span> <span><span><span><div</span> class<span>="mb-3"</span>></span>
</span> <span><span><span><input</span> type<span>="text"</span> class<span>="form-control"</span> id<span>="headingContent"</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="modal-footer"</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn btn-light"</span> <span>onclick<span>="<span>resetValue('heading')</span>"</span></span> data-bs-dismiss<span>="modal"</span>></span>Cancel<span><span></button</span>></span>
</span> <span><span><span><button</span> type<span>="button"</span> class<span>="btn btn-primary"</span> <span>onclick<span>="<span>createComponent('heading')</span>"</span></span> data-bs-dismiss<span>="modal"</span>></span>Save<span><span></button</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span></div</span>></span>
</span><span><span><span></div</span>></span>
</span>
>現在我們已經創建了每個組件之一,包括編輯器實例,讓我們嘗試將帖子添加到我們的頁面中。
以上是如何創建簡單的CM,使編輯變得容易的詳細內容。更多資訊請關注PHP中文網其他相關文章!