CakePHP 2.x 自定义字段插件

适用于 CakePHP 2.x 的自定义字段插件。现在您可以向 CakePHP 应用程序和各个模型/控制器添加自定义字段,而无需担心数据库更改。

GitHub 页面:https://github.com/srs81/CakePHP-CustomFields

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 表。但这将有助于分析/报告并轻松提取大量自定义数据(用于报告等)。

支持

如果您发现此插件有用,请考虑向神韵艺术团捐款以支持中国传统和历史文化。