【问题标题】:Can't find image path inside Symfony controller在 Symfony 控制器中找不到图像路径
【发布时间】:2014-03-21 14:47:27
【问题描述】:

在我的Symfony2/web/img 目录中是一个文件del.png,我想在控制器中显示它。

我尝试使用 image_path()image_tag() 之类的函数,但 Symfony 告诉我这是未知函数...

可以这样做:

$html = "<img src='".$request->getBasePath()."/img/del.png' alt='Delete user' border=0>";
return $this->render ('myBundle:stats:menu.html.twig', array('html'=>$html));

或者也像Symfony2 Assetic get asset urls from inside controller, not template中所说的那样

但我认为可以以更简单的方式完成。看起来很简单,所以我可能忘记了一些东西:-( 有什么建议吗?

【问题讨论】:

  • @FDL,在树枝模板中。我想在 PHP 文件中使用它。 ( {{ ... }} 在那里不起作用)
  • ...也有 PHP 示例(在选项卡中)。
  • @FDL,我明白了,但你从哪里得到 $view 变量?

标签: php image symfony


【解决方案1】:

你可以这样做:

$this->container->get('templating.helper.assets')->getUrl('img/edit.png')

【讨论】:

    【解决方案2】:

    使用assetic函数

    echo '<img src="'.$view['assets']->getUrl('img/del.png').'" alt="Delete user" border="0">';
    

    【讨论】:

    • 你在哪里定义/获取 $view 变量?
    • 抱歉,我不是在模板中而是在控制器中编写的。
    • 为什么要在控制器中回显?
    • 正确,这是一个错误的例子。在我的控制器中,我将其分配给了模板的 html 代码。 (已经澄清了问题)
    猜你喜欢
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多