2012-11-16 33 views
0

我需要在彈出時使用文件管理器,該按鈕點擊按鈕。我正在使用Yii擴展elfinder。我發現很難理解使用它的方式。我從bitbucket下載了代碼,將其放入我的應用程序中的文件夾擴展名中。我嘗試測試它使用新的控制器,elfcontroller命名,並把下面的代碼(從網站得到)在Yii中使用Elfinder擴展

class ElfinderController extends CController 
{ 
public function actions() 
{ 
    return array(
     'connector' => array(
      'class' => 'ext.elFinder.ElFinderConnectorAction', 
      'settings' => array(
       'root' => Yii::getPathOfAlias('webroot') . '/uploads/', 
       'URL' => Yii::app()->baseUrl . '/uploads/', 
       'rootAlias' => 'Home', 
       'mimeDetect' => 'none' 
      ) 
     ), 
    ); 
} 
} 

,我創建了一個更加功能使索引頁(我想要的文件管理器是在本頁)

在視圖中我寫了下面的代碼

$model = new xxxmodel(); 
$this->widget('ext.elFinder.ElFinderWidget', array(
     'model' => $model, 
     'attribute' => 'serverFile', 
     'connectorRoute' => 'admin/elfinder/connector', 
    ) 
); 

和我包括一個div包含它

但我得到以下錯誤

別名「ext.elFinder.ElFinderWidget」無效。確保它指向一個現有的PHP文件並且該文件是可讀的。

我試圖包括配置別名/ main.php

我知道我搞亂了一些地方文件夾結構

這裏是我使用擴展 C中的路徑:\ XAMPP \ htdocs \ project \ protected \ extensions \ ext.elfinder

我在google搜索後返回空,任何人都可以請解釋我如何使用這個擴展將代碼準確放置在需要的地方?

+0

路徑應該是'C:\ XAMPP \ htdocs中\項目\保護\擴展\ elfinder' –

+0

@ bool.dev:仍然無法正常工作,它給了我同樣的錯誤。 我改變了路徑到相同的代碼裏面的視圖是 '代碼'$ this-> widget('elFinder.ElFinderWidget',array( 'model'=> $ model, 'attribute'=>'serverFile', 'connectorRoute'=>'admin/elfinder/connector', ) );'code' –

+1

前段時間我也嘗試過使用ElFinder擴展,並遇到一些問題。這就是我寫我自己的原因。你可以嘗試它作爲替代:http://www.yiiframework.com/extension/ezzeelfinder/ – Ezze

回答

2

一般擴展名文件夾已經有ext別名,所以你不需要爲它設置一個別名。

然後擴展本身應放置在擴展文件夾,有點像:項目/擴展/擴展名/。你的情況應該是:項目\擴展\ elFinder,並保持你的代碼的其餘部分相同,即繼續參照擴展,如:

ext.elFinder.ElFinderWidget 
+0

感謝兄弟,它的工作。你能告訴我有關要傳遞的參數嗎? 'model','attribute'和'connectorRout'? –

+1

感謝您的提示回覆:) –

+0

'connectorRoute'似乎是['url'配置選項](https://github.com/Studio-42/elFinder/wiki/Client-configuration-options#wiki-url) ,'model'和'attribute'應該是存儲在服務器上搜索的文件位置的模型(猜測)。我建議先閱讀elFinder,然後在集成擴展之前瞭解它是如何工作的 –