如何通过twig-silex访问返回值

时间:2015-11-18 10:00:48

标签: php twig silex

我是在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,
));
});

它给了我未定义的变量:输出通知。

谢谢

1 个答案:

答案 0 :(得分:0)

当您完成路线后,您需要显示您正在使用的树枝模板,并包含您想要在树枝中使用的所有变量:

return $app['twig']->render('some_template.twig', array(
    'output' => $output,
));

现在您可以使用{{ output }}

访问变量了