我是在silex和twig中的新人。 我想从函数中访问返回的值并将其放在我的twig模板中。这是我的代码:
namespace classes;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$blogPosts = array(
1 => array(
'date' => '2011-03-29',
'author' => 'igorw',
'title' => 'Using Silex',
'body' => '...',
),
);
class GlobalController
{
public function indexAction(Application $app, Request $request)
{
$output = '';
foreach ($blogPosts as $post) {
$output .= $post['title'];
$output .= '<br />';
}
return $output;
}
}
我想访问$ output并在我的模板中显示它。我能这样做吗?因为我有其他类似的功能,他们从数据库中检索数据并将它们作为值返回,我想在模板中包含这些值。 这可能吗?
我试过这些,但他们没有工作:
{{ GlobalController.output }}
{# Or #}
{{ GlobalController.indexAction.output }}
更新 我在我的路由中添加了这个:
$app->get('/news/', function () use ($app) {
return $app['twig']->render('news.php.twig', array(
'output' => $output,
));
});
它给了我未定义的变量:输出通知。
谢谢
答案 0 :(得分:0)
当您完成路线后,您需要显示您正在使用的树枝模板,并包含您想要在树枝中使用的所有变量:
return $app['twig']->render('some_template.twig', array(
'output' => $output,
));
现在您可以使用{{ output }}