我在symfony2项目中使用内联CKEditor,当用户登录站点管理员帐户时,会向用户显示内联编辑器以更改页面内容,更改内容并保存更改后,整个页面将持久保存到数据库中的字段。
由于有太多的单独组件为每个组件分别设置各个行,我想将整个页面保存为一个整体。网页可能有大约36000个字符,
哪种字段类型最好?
有更好的方法吗?
内联编辑通常如何保存到服务器?
-Thanks
答案 0 :(得分:3)
您不仅要在数据库中保存网页。
根据内容的数量,您可能需要更改列的数据类型。
我认为,目前您正在使用 TEXT ,您可以尝试 MEDIUMTEXT ,它可以存储最多16MB的数据或 LONGTEXT 最多4GB的数据。
但是你永远不应该存储在数据库中反复重复的静态HTML。基本缓存会有所帮助。
答案 1 :(得分:2)
有一些重复的HTML块,例如标题,菜单,侧边栏,页脚等。这些块中没有一个被保存在数据库中。它们包含在模板文件中。
特定于页面的HTML块(页面内容)保存在数据库中。
例如,您可以创建以下基本结构:一个名为pages
的表,其中包含以下列id, url, title, content
,另一个表存储名为menus
的表,其中可能包含以下列{{1 }}
当您显示页面时,首先从数据库中id, title, page_id
获取记录,然后使用模板呈现该信息。
该模板将包含标题,菜单,侧边栏,内容,页脚的其他模板。
菜单模板将收到所有菜单项(以及指向它们的链接)的列表。内容模板将从pages
呈现HTML。所有其他模板都是固定的HTML,没有任何动态。