【问题标题】:How to display img inside twig with variable + string concatenate?如何使用变量+字符串连接在树枝内显示img?
【发布时间】:2017-01-19 00:27:18
【问题描述】:

我在显示 img 时遇到问题,我保存了带有书名的图像,现在要访问它们需要连接 .jpg 扩展名。所以我的问题是如何在树枝模板中连接变量和字符串?

<img src="{{ path({{ book.name ~ '.jpg' }}) }}"/>

这里是完整的代码:

  {% for book in books %}
  <a href="{{ path('AppBundle_Book_detailsBook', {'bookId': book.id}) }}"
      class="col-2 white kartica">
      <img src="{{ path({{ book.name }} ~ '.jpg' ) }}"/>

      <h4>
          {{ book.name }}

      </h4>

  </a>
{% else %}
  No books.
{% endfor %}

【问题讨论】:

  • book.name 实际上是一个可能存储在您的web/ 目录中的文件吗?
  • 不,我发送对象书籍列表,book.name 是书名的名称,也是图片的名称。所以我只需要将 book.name 与 .jpg 合并
  • 我看到你的代码在做什么,但为了显示图像book.name.jpg,它需要存储在某个地方。您是否可能使用图像包或类似产品?检查您的web/ 文件夹,看看它是否包含您上传的那些图像。
  • 我做了一个函数:$imagePath = DIR.'/../Resources/images/covers'.$bookName.'.jpg'; if (!file_exists($imagePath)) { var_dump($imagePath); }

标签: twig symfony


【解决方案1】:

根据您的 cmets,我认为这是您需要的:

<img src="{{ asset( '../app/Resources/images/covers/' ~ book.name ~ '.jpg') }}"/>

您可能需要稍微调整路径。资产从web/ 目录开始。我想你应该明白了。

顺便说一下,谢谢你发详细的帖子!

【讨论】:

    【解决方案2】:

    你为什么不试试这些:

    <img src="{{ path( book.name ~ '.jpg' ) }}"/>
    

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 2011-12-03
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 2018-05-24
      • 2012-01-11
      • 1970-01-01
      • 2017-07-27
      相关资源
      最近更新 更多