2012-05-08 115 views
1

有没有工作atk4.2 filestore示例代码的完整示例?如何在敏捷工具包中使用文件上传4.2

我一直在搜索docs和stackoverflow和我发现的几个例子只是不为我工作。

我需要延长Model_File还是Model_Filestore_File

首先给我的错误

类未在文件中定义

第二个给

无法包括文件存储/ lib目录/型号/文件存储/ File.php

什么是最简单的方法t o将文件上传到CRUD?

+0

所以你想知道如何上传一个PHP文件? – Petah

+0

否。如何使用filestore将文件上传到Agiletoolkit框架。 – Priit

回答

0

如果你想有文件上传,使用在你的模型如下:

$this->add('filestore/Field_File','file_id'); 

领域应引用filestore_file.id。如果你正在寻找有缩略图图片上传,然后:

$this->add('filestore/Field_Image','picture_id'); 

一旦图像上传和表单提交,该文件的“ID”将在各自的领域。对于Field_Image,它也会调整缩略图的大小。您可以使用自己的图像模型进一步自定义此:

->setModel('MyImage'); 

class Model_MyImage extends filestore\Model_Image { 
    public $default_thumb_width=32; 
    public $default_thumb_height=32; 
} 

这应该很好地工作4.2.0,但“发展”的分支,目前有一些改进,这将允许有每个图像的多个缩略图的大小。

+0

非常感谢你,这工作得很好,而且我不会在一百万年后发现它。 当文件类型不受支持时,是否有一些简单的机制来显示错误?目前它只是显示像C:\ fakepath \ filename.xxx 也到现在感觉相当愚蠢,但你可以看看我的看法网格,并给我一些指针如何添加文件链接在那里[链接] (https://gist.github.com/2636918) – Priit

+0

凭借继承的力量,您可以覆盖模型中的任何方法或任何属性。模型负责导入,所以你可以在那里创建一个新的类型,或者通过抛出异常,抛出$ this-> exception('错误的文件类型'); – romaninsh