加载页面后添加树枝过滤器

时间:2014-08-17 17:04:05

标签: symfony twig

如何为通过jQuery加载的图像运行twig过滤器? 长话短说:我的页面上有一个用户可以点击的用户名。 这将通过jQuery获取用户信息(连同配置文件照片的路径)

通常我会用这样的过滤器加载图像:

<img src="{{ '/relative/path/to/image.jpg' | imagine_filter('my_thumb') }}" />

我已经使用jQuery成功加载了我的图像:

$(".profile-pic").attr("src", "/uploads/profilephotos/" + data['path']);

我如何从这里继续?谢谢:))

1 个答案:

答案 0 :(得分:0)

在页面加载后显然不可能添加一个twig过滤器,因为twig实际上是php,所以它只能在服务器上执行。

我的猜测是,您必须使用jQuery获取图像的任何处理的配置文件数据。我相信你用ajax?

我想解决方案是进行任何其他控制器操作,您可以使用该操作获取所需的任何已处理文本数据。如果您想要优化/调整大小的图像,我建议您在成功上传后将图像存储为多种尺寸,并使用控制器操作将路径返回到这些图像,您将使用它来发出ajax请求。这样,图像将被存储,并且不会在每次请求时处理。

甚至更好,如果可以的话,你也可以在symfony中创建网址:

GET http://localhost/project/files/logo/1/thumb

返回二进制文件,它将是您处理过的图像。图像将在每次请求时处理,因此可能会慢一点。如果需要,请查看有关此内容的教程,它位于symfony2项目文档中。