0

我试图将 Twig 模板存储在 mysql 数据库中并使用 Propel ORM 1.6 提取它们

mysql 表已设置并具有 3 个演示模板/记录。我的 Propel Schema 设置良好,并让我的类与表进行交互。

例如,如果我使用 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 ) 上有一个示例,如果使用来自数据库的 twig 模板,但理想情况下我喜欢使用 Propel 来获取模板。

只是要注意我没有为应用程序使用任何框架(例如 symfony)。我通过 Composer 将 Twig 和 Propel 加载到我的网站中。

谁能指出我正确的方向?感谢您提供的任何建议。

4

1 回答 1

1

我创建了一个这样的 Twig String Loader:

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

然后我像这样渲染了模板(使用 $template->getHtml() 作为数据库中字段的吸气剂):

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

这可能不是正确的方法,但它似乎有效。我仍然有兴趣看看其他人做了什么=)

于 2013-07-22T14:54:02.810 回答