CakePHP动态添加新表单(WYSIWYG)

时间:2014-07-28 20:05:48

标签: php html cakephp wysiwyg

我被要求创建一个CakePHP插件,允许用户动态生成表单。这听起来并不太难(从DB拉出字段,弄清楚用HTML显示什么样的输入),但我不明白如何将表单“保存”到新页面。

根据我的理解,Wordpress通过将所有数据存储在数据库中来解决这个问题,并且可以使用短代码将表单“插入”到另一个页面中。看到CakePHP处理依赖于CTP文件来定义视图(而不是数据库字段),我没有看到任何简单的方法来实现这一点。

CakePHP中是否可以实现WYSIWYG表单编辑器的目标(无需借助于在应用程序中编辑CTP / PHP文件等可怕的做法)?如果是这样,你能指出我可以用来开发这个插件的一些策略吗?

1 个答案:

答案 0 :(得分:1)

我不确定你对动态表单做了什么,对我而言,听起来你正在描述两件截然不同的事情。

  • 以某种方式将生成的表单的结构保存在DB,键/值中,通过php序列化或作为json对象
  • 返回数据,将其设置为视图
  • 编写一个帮助程序,再次转换描述表单的结构
    • 可编辑的版本,恢复表单
    • 解析结构并返回表单应该执行的任何内容的HTML
  • 您必须编写自己的解析器来查找[gallery id = 1]之类的内容,并将其替换为函数调用的结果。假设这是你想要做的。因此,您必须映射"画廊"一个功能性的电话。我认为这里最好的是使用requestAction()

* .ctp文件是WP认为它的模板文件,老实说,从开发人员的角度来看,Wordpress只是一个可怕的笨拙软件。