我有一個cck FileField附加到內容類型。當我從節點中刪除文件時,我想刪除對該文件的引用,但將該文件保留在服務器上。原因是因爲我們在網站上使用IMCE,其他項目可能會引用圖像。你知道這是不是可能嗎?Drupal FileField從節點中刪除文件,但離開服務器
2
A
回答
2
從FileField_delete看代碼在這裏:
function field_file_delete($file, $force = FALSE) {
$file = (object)$file;
// If any module returns a value from the reference hook, the
// file will not be deleted from Drupal, but file_delete will
// return a populated array that tests as TRUE.
if (!$force && $references = module_invoke_all('file_references', $file)) {
$references = array_filter($references); // only keep positive values
if (!empty($references)) {
return $references;
}
}
它看起來像hook_file_references可能會幫你的忙。但是我看不到使用這個鉤子的許多模塊(filefield除外)。
您可以編寫自己的模塊來跟蹤特定字段並實現您自己的hook_file_references。例如,您可以跟蹤特定的cck值,並在調用掛接時查詢它們。
0
同時檢查在保存時是否沒有創建節點的新版本。在這種情況下,文件不會從文件系統中刪除,因爲它將保持連接到原始修訂版本。
相關問題
- 1. 從git repo中刪除文件,但不是從服務器中刪除文件
- 2. Drupal從節點刪除節點引用
- 3. Drupal 7刪除節點不會刪除所有相關文件
- 4. perl - 從xml文件中刪除節點
- 5. 從元素節點中刪除文本節點但不從屬性節點中刪除類型
- 6. 刪除服務器文件
- 7. 從服務器完全刪除文件
- 8. 從服務器刪除圖像文件
- 9. 在JSP中刪除按鈕以從服務器刪除文件
- 10. Drupal服務節點檢索
- 11. 從IMAP服務器中刪除郵件
- 12. 從ttml文件刪除xml節點C#
- 13. 使用文件服務URL從文件服務器刪除文件
- 14. 從選擇器中刪除子節點
- 15. 從WebLogic中刪除節點管理器
- 16. 發送gzip文件節點服務器
- 17. 從鏈表開始刪除節點
- 18. 從simpleXML中刪除節點
- 19. 從DOM中刪除節點
- 20. 從XML中刪除節點
- 21. 從RABL中刪除節點
- 22. 從xmlDoc中刪除節點,如何刪除父節點?
- 23. 從PowerShell中的服務器列表中刪除文件列表
- 24. 下載文件時從網絡服務器上刪除文件
- 25. 刪除XML文件中的節點?
- 26. 刪除服務器上傳的文件
- 27. 刪除Ftp服務器上的文件?
- 28. 從Drupal的節點菜單設置中刪除導航菜單
- 29. Drupal 7飼料模塊沒有從XML中刪除後刪除節點
- 30. 移除條目後從服務器刪除文件
如果您使用類似http://drupal.org/project/filefield_sources的文件,並且該文件與其他節點相關聯,那麼文件將不會被刪除,直到刪除引用文件的最後一個節點。 – jhedstrom 2010-01-20 18:49:19