我想在前端使用UploadField用戶上傳他們的公司徽標。如何使用Silverstripe 3測試版UploadField
上沒有UploadField多文檔呢。我已經嘗試過,但目前還沒有運氣。
任何人都可以指導我如何使用它?
我想在前端使用UploadField用戶上傳他們的公司徽標。如何使用Silverstripe 3測試版UploadField
上沒有UploadField多文檔呢。我已經嘗試過,但目前還沒有運氣。
任何人都可以指導我如何使用它?
上傳字段檢查經由CAN *權限()對象中的方法。
爲了讓前端編輯 - 你可以在你的自定義對象重載文件:: canEdit(或圖片:: canEdit)來處理這個問題。
你好,從SS文檔說,上傳字段能夠'保存到關係'。我在我的數據對象中有一個一對一的關係,例如,靜態$ has_one = array('ProfilePhoto'=>'Image');.當我使用名稱爲「ProfilePhoto」的上傳字段創建表單時,它能夠成功上傳,但似乎無法保存到關係中。我以下面的代碼創建了上傳字段:new UploadField('ProfilePhoto','Profile Photo');你有什麼主意嗎? – Joe
嗨喬,只是讓你知道 - 我困在當下同樣的問題,並試圖找到一個不錯的解決方案。只要我找到一件事就會讓你知道!乾杯 – Tim
據我所知,UploadField尚未準備好用於前端,所以很可能這是UploadField中的一個錯誤。 它計劃使它在前端工作,但到目前爲止沒有人有時間去做它我認爲,要修復的待辦事項和錯誤的列表相當長:S – Zauberfisch
這是有點老了,但如果別人絆倒在這個像我一樣。
UploadField確實工作前端。我無法使用saveInto函數將其保存到many_many關係中。但我錯過的最重要的事情是DataObject/Page需要先存在,因爲它需要先保存,然後才能附加像圖像這樣的相關對象。
static $has_one = array(
"Photo" => "Image"
);
$fields = new FieldList(
new UploadField('Photo', 'Upload')
);
function saveForm($data, $form) {
$object = new DataObject();
// for a new object write before saveinto
$object->write();
$form->saveInto($object);
$object->write();
Director::redirectBack();
}
使用SS 3.0.1
或者,而不是使用手動saveinto功能,您可以遍歷所有的參數和連接它們的對象爲自己的圖像many_many上。
似乎有沒有多大的文件覆蓋uploadfield還,所以暫時我們正在與代碼本身單獨存在(有一個在uploadfield類的一些評論)。猜測3.0穩定版發佈後,這將很快變得更好。 – schellmax