2012-05-08 50 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