钥匙要点
>利用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中文网其他相关文章!