CakePHP 2.x 自定义字段插件
适用于 CakePHP 2.x 的自定义字段插件。现在您可以向 CakePHP 应用程序和各个模型/控制器添加自定义字段,而无需担心数据库更改。
CakePHP 自定义字段插件
适用于 CakePHP 2.x 的自定义字段插件。现在您可以向 CakePHP 应用程序和各个模型/控制器添加自定义字段,而无需担心数据库更改。
使用方法
下载或签出
您可以下载 ZIP 文件:https://github.com/srs81/CakePHP-CustomFields/zipball/master
或者签出代码(将密码字段留空)
git clone https://srs81@github.com/srs81/CakePHP-CustomFields.git
将它放在 Plugin/ 目录中
将此内容解压缩或移动到应用程序根目录下的“Plugin/CustomFields”。
添加到 bootstrap.php 加载
打开 Config/bootstrap.php 并添加此行
`php CakePlugin::load('CustomFields'); `
这将允许插件加载它需要的所有文件。
为模型添加自定义字段
为要添加自定义字段的模型添加自定义字段。例如,假设您要向“Blog”模型添加“author”和“publish_at”字段,并向“User”模型添加“date_of_birth”字段,您将添加以下内容
`php Configure::write('CustomFields', array( 'Blog' => 'author, publish_at', 'User' => 'date_of_birth' )); ` 您可以将其添加到 APP/Config/bootstrap.php 或 APP/Plugin/CustomFields/Config/bootstrap.php 中。
创建文件目录
如果文件上传目录尚不存在,请确保创建正确的目录:<pre> cd cake-app-root mkdir webroot/files/custom_fields chmod -R 777 webroot/files/custom_fields</pre>
默认上传目录是 /webroot 下的“files/custom_fields”,但可以更改(见下面的常见问题解答)。
您不必赋予它 777 权限 - 只需确保 Web 服务器用户可以写入此目录即可。
添加到控制器
将其添加到 Controller/AppController.php 以在所有控制器中使用,或者仅在您将使用它的特定控制器中使用,如下所示
`php var $helpers = array('CustomFields.Field'); var $components = array('CustomFields.Field'); `
并将它添加到您的 add() / edit() 函数中,紧随 ->save() 函数之后
`php $this->Field->save("Blog", $this->request->data); `
添加到视图
假设您有一个带有“id”主键的“blogs”表。
将其添加到 View/Blogs/view.ctp
`php echo $this->Field->view('Blog', $blog['Blog']['id']); `
并将它添加到 View/Blogs/edit.ctp
`php echo $this->Field->edit('Blog', $this->Form->fields['Blog.id']); `
常见问题解答
兄弟!不需要数据库/表架构更改吗?
是的。:) 只需将此插件放到正确的 Plugin/ 目录中,并将代码添加到控制器和视图即可。确保 webroot 下的“files/custom_fields”目录已创建且可写,否则自定义字段将无法保存。
由于插件使用基于模型名称和 ID 的目录结构来保存模型的相应文件,因此无需进行表/数据库更改。
更改目录
您被限制在 webroot 下的“files/custom_fields”目录中吗?不是。
打开 Plugin/CustomFields 目录下的 Config/bootstrap.php 并更改“CF.directory”设置。
变更日志
版本 1.0.0:2012 年 4 月 10 日
未来工作
我最终希望将自定义数据存储到数据库中,而不是文件中,但这将涉及更多 CakePHP 复杂性,以及来自开发人员的初始化脚本以设置插件特定的 DB 表。但这将有助于分析/报告并轻松提取大量自定义数据(用于报告等)。
支持
如果您发现此插件有用,请考虑向神韵艺术团捐款以支持中国传统和历史文化。