2013-10-15 46 views
1

我目前首要的Joomla 3的deleteList像這樣:的Joomla 3 deleteList刪除圖片

public function delete(){ 
    if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR); 
    $path = JPATH_ROOT; 
    $path = JPath::clean($path. DS ."images". DS ."menu_slider". DS); 

    foreach(glob($path.'*/penguins.*') as $image){ 
     unlink($image); 
    } 
    return parent::delete(); 
} 

在項目或項目有一個與之相關的圖像,所以數據庫有以下幾點:

id title image 

所以我的問題真的是如何獲得分配給該項目或項目刪除時的圖像名稱?

回答

2

也許你知道控制器觸發模型方法刪除,然後它加載JTable刪除條目。我的建議是延長JTable類與/administrator/components/com_YourExtension/tables/YourTableFile.php以下方法:

public function delete($pk = null) 
{ 
    jimport('joomla.filesystem.file'); 
    $path = JPath::clean(JPATH_ROOT . "/images/menu_slider/"); 
    if (JFile::exists($path . $this->image) 
     JFile::delete($path . $this->image); 

    return parent::delete($pk); 
} 
+0

不,我沒有...我還在,而新的這一切。謝謝。但我不斷從joomla得到一個錯誤失敗刪除lighthouse.jpg,我也刪除了我原來的刪除覆蓋,這是我的正確嗎? –

+0

如果你不斷收到錯誤,請嘗試替換JFile :: delete($ path。$ this-> image);與unlink($ path。$ this-> image); 你也需要從你的控制器中刪除刪除方法,並讓它做他的本地行爲。 – di3sel

+0

這次沒有錯誤,但圖像也沒有被刪除.. –