【发布时间】:2014-08-23 19:40:28
【问题描述】:
我也是 cakePHP 和 MVC 的新手,所以我的尝试中可能存在一些重大的设计缺陷。请原谅我的拼写错误,因为我不是母语人士。
我想要做什么:
我想创建一个视图,用户可以在其中使用 Jcrop Javascript 库和 Media Plugin from David Persson 重新裁剪上传的图像。
设置:
所有媒体文件都由附件模型存储,该模型基于 Mediaplugin 附带的模型。 其他模型可以使用附件模型来存储媒体文件。
我的尝试:
- (View/Attachments/admin_edit.ctp):收集cropdata,数据将通过javascript注入表单
- (控制器/AttachmentsController.php)
- 保存附件数据
- 如果附件数据已保存:使用
$this->Attachment->makeVersion($file, $instructions);处理cropdata - 使用
$this->redirect(array($admin = true, 'controller' => 'attachments', 'action' => 'index'));重定向到附件索引视图
问题:
我的一般尝试是有效的,所以所有图像都会像我想要的那样被裁剪,但不会触发以下重定向,而是在某处执行对当前操作的奇怪重定向。 我将其缩小到 makeVersion() 方法,当我将其注释掉时,附件仍会保存,并且重定向工作正常。
所以 makeVersion() 似乎有一些奇怪的副作用。
由于我被重定向,因此很难调试,因为我无法检查请求或检查错误。 我尝试使用 debug();exit;在 makeVersion() 方法内部进一步缩小范围,但我真的不明白,内部任何地方都没有调用重定向。
代码:
对于仍在阅读并有兴趣帮助我的人,请查看源代码here
提前感谢您的努力! 干杯 马蒂亚斯
【问题讨论】: