Удаление нод, без удаления картинок

Главные вкладки

Аватар пользователя artist artist 17 ноября 2009 в 8:51

Всем привет!
Есть такая проблема.
Прежде чем далать импорт товаров на сайт, пользователь удаляет все товары из магазина с помошью node_delete, но также удаляются и все файлы привязанные к этому товару, причем не только из БД, но и с ФС-мы сервера, т.е. при каждом импорте приходится загружать изображения заново, а их там не мало.
Вопрос! Каким образом можно обойти эту проблему, чтобы файлы физически оставались на месте?

Комментарии

Аватар пользователя artist artist 24 ноября 2009 в 11:33

решение: использовать hook_file_delete($file) (нужен модуль FileField)
наподобии токого:

<?php
    
if(file_exists($file->filepath))
    {
        
$filepath=$file->filepath;
        
file_copy($file->filepath,file_directory_temp(),FILE_EXISTS_REPLACE);
        
$filesave=$file->filepath;
        
$file->filepath=$filepath;
        
imagecache_image_flush($file->filepath);
        
file_copy($filesave,$filepath,FILE_EXISTS_REPLACE);
    }
?>
Аватар пользователя artist artist 25 марта 2010 в 7:45

Этот хук нужно использовать в вашем модуле, например если модуль называется main, то функция в это модуле будет иметь вид main_file_delete($file), тем самым вы перехватите удаление файла и проведете необходимые операции