问题标签 [cakephp-2.4]
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.
cakephp - CakePHP 2.4 从插件中抛出主要应用程序异常?(干扰 requestAction?)
我正在将我的 CakePHP (v 2.44) 应用程序的一个运行良好的部分变成一个插件,当从我的插件的控制器中抛出异常时,我得到了最奇怪的行为:异常处理程序/渲染器开始使用我的app/View/Layouts/mylayout.ctp 中的主站点布局,然后使用 app/View/Layouts/error.ctp 中的默认布局中断它。这是一个摘录:
如果您注意到在 Cake 组成布局的过程中,它看起来像一个新的标头。就在我的布局被中断的地方,我加载了一个元素,并且该元素使用了 requestAction(在我的开发环境中没有缓存)。如果我删除该元素,那么我的布局会呈现更多,直到遇到使用 requestAction 的下一个元素。这些 requestAction 调用不会向引发异常的插件请求操作。
我正在使用 app/Config/core.php 中的所有默认错误处理程序。唯一不同的是在错误视图中指定 $this->layout。
现在,如果我在插件的 View 文件夹中重新创建原始错误布局和视图,事情就会像我预期的那样工作。但出于实验目的,我将我的主站点布局的重命名副本放在那里,同样的事情。每当遇到使用 requestAction 的元素时,异常都会中断布局。
有任何想法吗?
我会重申,当从应用程序中不是插件的任何地方抛出异常时,一切都会完美运行。
php - CakePHP:使用 PasswordableBehavior 的 BeforeSave 和 BeforeValidate
我正在尝试在我的 CakePHP 应用程序中使用 DerEuromark 的 Passwordable 行为,但无法使其正常工作。我按照安装说明(http://www.dereuromark.de/2011/08/25/working-with-passwords-in-cakephp/),修改了我的控制器和视图,但我一直收到一个错误,说我的BeforeValidate
和BeforeSave
与行为不兼容 - 当然,行为不起作用。
我知道我需要在我的模型中正确设置这两个,但我不知道它们应该是什么样子 - 说明没有涵盖这一点。
处理这种行为的基本、普通BeforeValidate
和BeforeSave
需要是什么样的?
在我的用户控制器下:
BeforeValidate
与BeforeSave
我user.php
需要兼容的 Passwordable 行为: https ://github.com/dereuromark/tools/blob/master/Model/Behavior/PasswordableBehavior.php
错误:
编辑:用户模型:
cakephp - CakePHP 使用 hasMany 字段作为 implode() 查找/分页
我有两个模型Model A
和Model B
. Model A
有很多Model B
。
所以现在我想在 View about 中构建一个分页表Model A
。我想要一个列,其中的特定字段Model B
显示为逗号分隔列表。
想象Model A
被命名Group
和Model B
被命名User
。
Group hasMany User
现在我想要一张像这样的组表
编号 | 姓名 | 用户
1 | 第一组 | 用户 1、用户 2、用户 3
但我不想在视图中使用 foreach,它应该是数组中已经存在的字符串。
php - 在使用 ControllerTestCase 进行测试期间,CakePHP AppController 组件不会被组件继承
我正在为我的控制器编写一些单元测试,但是我遇到了一个问题,即在测试期间我的 AppController 文件中定义的组件似乎没有被继承到我的控制器中。
例如,在我的 AppController.php 文件中,我有以下内容:
如果我转到有问题的控制器并在操作中使用以下代码行,debug($this->components);
我会得到以下结果:
但是,在单元测试期间,同一行代码将输出以下内容:
控制器本身没有定义任何组件,因此没有任何东西会导致问题,不确定这里的问题是什么或如何解决它。
php - $this->Auth->user(); 只有 id 而不是整个数组
我正在为 CakePHP 2.x 中的 auth-componentent 苦苦挣扎 这本书在这里说 (底部的最后一个条目)
如果参数为空,则返回所有用户数据。
但如果我回声$u
然后只显示用户ID。我期望整个用户数组。有任何想法吗?
php - 在链接标签内插入图片
下面的代码不起作用
但是这段代码是有效的。帮帮我
cakephp - 上传多张带有相关数据的图片
我正在寻找上传多张图片以及将存储在数据库中的相关数据。最重要的数据将包括标题和文件名(以便以后能够访问图像)。
我喜欢点击上传按钮,选择我想要的图像,图像被上传并显示为缩略图(或者可能只是文件名)。每个缩略图/文件名也将有一个字段,用户可以在其中输入图像的标题。然后在提交图像上传和数据可以链接在一起。
我已经四处寻找一个插件或可以帮助解决这个问题的东西,但令人惊讶的是没有太多运气,并且想知道是否有其他人有这方面的经验知道适合的工具。这似乎是一个足够普遍的问题,有人会为它制作插件。
从更大的角度来看,我有一个items
db 表和一个item_pics
db 表。我希望能够添加一个item
并同时上传多个item_pics
带有item_id
和他们自己的标题。
authentication - 仅使用 sha1 使用 CakePHP 2.4 进行身份验证?
我在 CakePHP 2.4 中的身份验证遇到了一些麻烦。我烘焙了一个简单的应用程序来创建登录。我做了书中所有的事情(Auth和Tutorial)。但只有 sha1 有效。但不是 sha256 或 md5。在搜索和测试之后,我找到了一个解决方案,我必须更改书中的示例代码,现在它可以工作了。但我认为,这不是正确的解决方案。
我在 AppController 中做了以下操作:
我用 md5、sha1 和 sha256 对此进行了测试。没问题。如果密码经过适当的哈希处理,则登录有效。
但我注意到,添加用户仅适用于 sha1,因为这是默认哈希。我的用户模型 beforeSafe 功能是这样的(来自书中):
我想,AppController 中的设置就足够了,也可以更改该区域的 SimplePasswordHasher。但看起来,这还不够。所以我把它改成这样:
对此
现在一切都像一个魅力。但我的问题:
1)我是对的,这是必要的还是我的代码有其他问题?
2)据我所知,$xxx->zzz
仅适用于控制器和xxx::zzz()
任何地方,对吗?
3)为什么我必须说安全哈希,它应该再次用 sha256 对字符串进行哈希处理,而我通常已经在 AppController 中说过?
php - 用 CakePHP 修改一行
我正在使用 CakePHP 显示 MySQL 数据库表的前端 GUI。我已经使用bake来自动生成屏幕,我目前有一个功能齐全的应用程序,每行都有查看、编辑和删除按钮。我想为每行添加一个名为 的按钮,该按钮Accept
应设置IsAccepted = 1
在 SQL 行上。
我设法为Accept
每行添加一个按钮,如下所示:
但是里面的代码ProductController.php
不起作用:
我究竟做错了什么?如何使用每行按钮正确编辑一行?
validation - 不同网络浏览器中的不同验证消息
我是 CakePHP 的新手,正在做我的第一个应用程序 - cakephp 教程中的第一个博客。一切都很好,但有一件事困扰着我。当我在模型中定义验证规则时,验证正在工作。
但是每个网络浏览器都会显示不同的消息。例如,Firefox 以捷克语显示消息(我来自捷克),chrome 显示“请填写此字段”和 Internet Explorer 显示“此字段不能留空”。所以我尝试翻译消息(通过添加参数消息进入模型验证)。这是有效的,但仅在 Internet Explorer 中,其他浏览器没有变化。有什么办法,如何在所有浏览器中都有相同的验证消息?
模型验证: