2014-04-10 17 views
0

我在構建一個CakePHP應用程序,我試圖讓用戶從列表中選擇一個電子郵件模板,然後將它發送到他們選擇的地址。我想避免對模板名稱進行硬編碼,因爲它們可能會隨着時間的推移而發生變化和更新。我如何生成我所有電子郵件模板的文件名列表(在我的控制器中)?我嘗試使用CakePHP文件夾類訪問應用程序/視圖/電子郵件/文本的內容,如下所述:http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.htmlCakePHP-檢索電子郵件模板的名稱

但是,這沒有奏效;我無法獲取該目錄的內容。我只需要訪問文件名;一旦我得到它們,我就可以完成其餘的邏輯。

+0

你爲什麼無法訪問內容? Folder類可以訪問你的app文件夾中的所有內容。至少,那應該。你嘗試過香草PHP方法嗎? – Jelmer

+0

我不知道爲什麼它不適合我;我無法通過Folder類訪問任何內容。我甚至試圖簡單地訪問img文件夾中的東西,如下所示:$ dir = new Folder('/ img'); $ files = $ dir-> find('。* \。png');但它回來了。我不熟悉vanilla PHP;我會去查找它 – Jozomby

+0

我剛剛意識到我已禁用了網址重寫;可能導致無法讀取目錄內容? – Jozomby

回答

0

以任何方法在你的控制器試試這個:

App::uses('Folder', 'Utility'); 
    $dir = new Folder(APP . 'View/Emails/text/'); 
    $files = $dir->find('.*\.ctp'); 
    //print the array to inspect 
    pr($files); 

應該告訴你所有的.ctp模板文件在/ app /查看/電子郵件/文本/

+0

非常感謝!這工作! – Jozomby

+0

再次感謝編輯Mark :) –