问题标签 [cakephp-3.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1271 浏览

cakephp - 无法创建简单的 CakePHP 插件

我想为 CakePHP 3.1.4 创建一个插件。文档很简单,但示例不起作用(http://book.cakephp.org/3.0/en/plugins.html#creating-your-own-plugins

步骤是:

创建数据库。连接到数据库。创建一个表“联系人”。在目录中导航并运行:

创建控制器:

重新生成自动装载机:

将此行添加到 /config/bootstrap.php 文件中:

但是现在,文档说

“如果你想访问我们到目前为止所做的事情,请访问 /contact-manager/contacts。你应该会收到“缺少模型”错误,因为我们还没有定义联系人模型。”

但这不起作用。相反,我得到一个错误:

缺少控制器。Cake\Routing\Exception\MissingControllerException。Cake\Routing\Dispatcher->dispatch ROOT/webroot/index.php,第 37 行错误:找不到 ContactManagerController。错误:在以下文件中创建类 ContactManagerController:src/Controller/ContactManagerController.php

这意味着无法加载插件,否则它不会建议这样做。在“包含”下打开 DebugKit 时,插件不在插件数组中。

我检查了 composer.json 文件,并且在两个插件中都正确列出了。烘焙命令运行没有错误。我用多个不同名称的新项目尝试了上述步骤。

这里有什么问题?非常感谢。

0 投票
2 回答
117 浏览

cakephp - 如何使用表单输入 CakePHP 3 自动获取日期下拉列表?

所以我已经创建了一种添加推荐的方法,并且表单的一部分可以添加推荐的日期。在我的数据库表中,它被设置为日期类型。在我的表格上,我只有:

在我的模型表文件中有一个验证:

我模仿了这个相同的过程,将presentation_date 添加到不同的表单中,然后转到不同的控制器。日期下拉列表自动添加到推荐添加表单中。演示文稿不会自动添加日期。如果我像这样输入表单,我可以获得下拉菜单:

推荐表格的日期下拉菜单填写默认为今天的日期。当我将其设为 $this->Form->date 时,演示表单没有默认值或标签。我的问题是,为什么不像在推荐情况下那样自动添加下拉菜单?

还有什么我想在某处添加的吗?

推荐文件是使用烘焙功能创建的,演示文件是手动创建的。我检查以确保表单变量拼写正确。

0 投票
3 回答
4229 浏览

cakephp - 用户未登录时如何使用 AJAX 和 CakePHP 3 检查 CSRF 令牌?

所以我让我的网站上线了,我进入了人们并不总是友善的公共领域。我刚开始学习 CSRF,当我让我的 cakephp 3 网站上线时,我发现它是我需要的东西。如这里所见!

我将 csrf 组件和安全组件添加到我的站点,但我有 1 个主要问题。现在,当用户想要注册时,他们不能。我使用自定义表单进行条纹发送付款,但还将使用 ajax 的用户添加到我的数据库中。首先添加用户,然后处理付款并将订单也保存到数据库中。

根据条纹文档,我在单击提交按钮后将隐藏值中的令牌添加到表单中,并且不禁注意到我的新安全性不允许这种情况发生。

由于我使用 ajax 将发布数据发送到我的用户控制器并在提交时添加表单输入,

如何检查 csrf 令牌并确保不存在安全漏洞而不禁用所涉及操作的安全性?

非常感谢如何完成此操作的示例,因为在 cakephp 3 中似乎缺少执行此操作的示例。我也很难弄清楚一切是如何工作的,因为 cakephp 3 automagic 将令牌添加到表单和曲奇饼。我不确定如何/在哪里/检查什么。

0 投票
2 回答
607 浏览

cakephp - 如何在添加用户的同时添加关联数据 CakePHP 3.x?

我希望能够在添加用户的同时添加会员记录。我似乎无法让它工作。我希望能够选择会员级别并将该数据发送到我可以添加数据的控制器,除非有一种方法可以选择会员级别并且它会自动为获得的用户创建会员记录添加。

会员级别包含该会员级别的信息,会员记录包含会员级别的一些信息并与用户相关联。

我认为添加表单是问题所在,但以防万一这里是重要的代码片段。我试图让它尽可能简单。

用户表初始化函数:

成员资格表初始化函数:

用户控制器添加方法:

添加用户表单:

感谢评论和答案,我稍微更改了代码。会员级别现在显示在表单中,我在保存用户时选择了会员级别,但会员资格也没有保存,只有用户。有什么进一步的建议吗?

0 投票
1 回答
763 浏览

cakephp - CakePHP 3:如何创建自定义模型回调?

需要良好的起点来创建自定义模型回调。对于应用程序的特定部分,我不能使用默认的 cakephp生命周期回调(beforeSave、afterSave、..),因为表很大。在控制器中,我创建了更多包含部分更新记录的方法,例如用户 4 步注册。

如何创建自定义模型回调,例如beforeRegister仅在创建新用户帐户之前使用?

0 投票
1 回答
3366 浏览

email - CakePHP 3 & Mercury:SMTP 服务器不接受密码

我有带有 Mercury 邮件服务器的 localhost xampp 服务器。使用 Thunderbird 电子邮件客户端,我可以从 localhost 发送和接收邮件。

但是当尝试使用 CakePHP 3.1.xi 发送时收到错误消息:

SMTP 服务器不接受密码。

我使用相同的登录数据:

使用 Thunderbird 发送和接收时的 Mercury 日志

尝试使用 CAKEPHP 发送和接收时的 Mercury 日志

0 投票
1 回答
187 浏览

validation - 如何将验证规则从 CakePHP 2.x 转换为 3.x?

我正在将我的 cakephp 代码从 2.6.7 升级到 3.1.5。旧版本代码工作正常:

现在我想将它转换为 cakephp 最新版本。即:3.1.5 我找到了 notempty 规则的解决方案。但是代码的转换是什么。或者是否有旧版本项目的版本自动升级过程?

0 投票
2 回答
4489 浏览

cakephp - 如何从控制器向 CakePHP 3.x 中的元素发送变量并在不同视图中使用元素时保留变量?

我创建了一个允许管理员将滑块内容保存到数据库的应用程序,现在我想在主页上包含滑块。我有一个带有滑块功能的幻灯片控制器,它只是将幻灯片内容发送到滑块视图。

这是控制器功能:

该函数的视图仅包含以下内容:

然后我创建了一个名为滑块的元素文件并在那里处理幻灯片。当我转到 url /slides/slider 时,滑块正在工作,但是当我转到根或主页时,滑块是空的。它似乎没有将 $slides 变量保留在元素中。

在主页上:

那么如何保留或制作变量,以便我也可以在主页上拥有滑块视图?

0 投票
1 回答
726 浏览

cakephp - CakePHP 3.0 插件的默认主题

全部,

我的结构如下:

  • 主要应用
    • 自定义主题插件
    • 带有 AppController 和其他控制器的插件

我正在为我的主应用程序使用自定义主题插件,但第二个插件默认使用标准 CakePHP 主题。有什么方法可以在不更改主题本身的插件文件的情况下指定它需要使用的主题?

感谢您提前输入。

阅读下面选定的回复后发现了答案。答案如下我有以下内容:

它必须是:

我的插件中的 AppController 也在扩展 Controller,应该是

0 投票
1 回答
382 浏览

cakephp - CakePHP 3:最后没有斜线的插件路由?

管理插件 / PagesController 方法:

  • 指数
  • 添加
  • ..

删除了默认显示方法。

问题,如果我尝试重定向到mysite.com/admin/webroot/pages和错误消息,我无法在mysite.com/admin/pages末尾没有斜线访问​​ url

错误:找不到 WebrootController。

对于所有其他没有斜线的控制器 url,最后可以工作。

管理插件/配置中的路由器: