我試圖在PhalconPHP(v 2.0.13)中加載模板,但即使是最簡單的示例似乎也不起作用。在這個例子中,我試圖訪問http://www.mysite.dev.fb/forms/。這裏是我的路由器:Phalcon查看未加載
$router->add(
'/forms/',
[
"namespace" => "Render\\Controller",
"controller" => "index",
"action" => "forms",
],
['GET']
);
路由工作,或者至少在行動中的代碼(vardumps等)。
這是我的控制器操作變體。
變體1
public function formsAction()
{
}
在這種情況下,位於應用程序/視圖/索引/ forms.volt模板(I具有文件的與一個.phtml延伸,用於調試目的的副本)應加載,對嗎?錯誤,顯示空白屏幕,錯誤日誌中沒有錯誤。
變2
於是,我試着採摘的觀點,這樣的:
$this->view->setViewsDir(__DIR__ . '/../views/');
$this->view->pick('forms/contact');
文件,應用程序/視圖/表格/ contact.volt,也存在,具有完全權限。 Vardumping $ this-> view-> getContent()返回null並且結果又是一個沒有任何錯誤的空白屏幕。
變3
拼命,我試過直接渲染模板(在這個例子中,我使用的是默認爾康指數/指數模板)是這樣的:
$this->view->start();
$this->view->render('index', 'index'); //Pass a controller/action as parameters if required
$this->view->finish();
唯一的區別是,現在vardumping $ this-> view-> getContent()返回一個空字符串,而不是null。
這就像自動渲染被禁用,但是下面一行返回false(因爲它應該):
var_dump($this->view->isDisabled());
我的想法,誰能幫助?如果我忘記包含某些內容,請回復並加入。
你是否正確設置了視圖組件?這是我在服務中註冊的意見組件:http://pastebin.com/SdX121d8。還要確保Phalcon具有緩存文件夾的r/w權限。檢查PHP日誌 – Luke
我的猜測是'setViewsDir(__ DIR__。/../ views /')'沒有設置正確的路徑。你在哪裏註冊你的視圖服務?在index.php文件中?如果視圖位於'/ app/views /'中,而'index'文件位於'/ public/index.php'中,則路徑應該是__DIR__。 '../應用/視圖/''。 –
是的,我的Volt引擎定義中的某些東西看起來很腥,我從Luke的示例中添加了phtml行,是的,.phtml模板已正確加載。謝謝,我會在有任何發展的時候報告(正面的或者我再次陷入困境)。 –