2013-07-22 26 views
0

我試着去枝條模板存儲在MySQL數據庫,並使用ORM的Propel 1.6貯藏枝條模板中的MySQL數據庫,並使用波輪提取

MySQL的表被設置,有3個演示模板/記錄提取它們。我的Propel架構設置良好,並有我的類與表交互。

如果例如我使用推進提取模板主鍵(1)所示:

$template = TemplateQuery::create->findPk(1); 

和呈現這樣的模板:「捕獲的致命:

$twig->render($template, array(
    "name" => "testname", 
    "age" => "testage", 
)); 

與它的錯誤錯誤:傳遞給Twig_Environment :: __ construct()的參數1必須實現接口Twig_LoaderInterface「

在Twig網站的這個頁面(http://twig.sensiolabs.org/doc/recipes.html)有一個ex充足的,如果使用數據庫的樹枝模板,但理想情況下,Id喜歡使用Propel來獲取模板。

只是爲了說明我沒有使用任何框架(例如symfony)的應用程序。 Im將Twig和Propel通過Composer加載到我的網站中。

任何人都可以指向正確的方向嗎?感謝您提供任何建議。

回答

1

我創建了一個枝條字符串裝載機這樣的:

$twig = new Twig_Environment(new Twig_Loader_String()); 

然後我提供的模板像這樣($模板 - > getHtml()是我消氣劑領域的分貝):

$code = $twig->render($template->getHtml(), array(
    "name" => "testname", 
    "age" => "testage", 
)); 

這可能不是正確的方法,但它似乎工作。編號仍然有興趣看看別人做了什麼=)

+0

你應該把這個包裝在一個服務中,但是你在正確的軌道上。在這裏閱讀更多: http://twig.sensiolabs.org/doc/api.html#twig-loader-string。 如果您的應用程序允許用戶操縱這個樹枝內容,您應該考慮沙盒視圖。在這裏閱讀更多信息: http://twig.sensiolabs.org/doc/api.html#sandbox-extension – Webberig