Symfony的TWIG中的endroid Qr代码

时间:2017-06-15 06:14:24

标签: symfony twig qr-code

所以我想通过在Symfony的TWIG模板中输入一个URL来动态制作QR码。我安装了endroid / QrCode软件包并且看起来很好,但我不确定如何让TWIG创建QR代码图像!

所以从GitHub页面来看,TWIG的所有内容都是:

  

Twig扩展

     

该捆绑包提供了用于生成QR码URL的Twig扩展,   路径或数据URI。您可以使用其中任何一个的第二个参数   函数用于覆盖由bundle定义的任何默认值或通过set设置   你的配置。

<img src="{{ qrcode_path(message) }}" />
<img src="{{ qrcode_url(message, { writer: 'eps' }) }}" />
<img src="{{ qrcode_data_uri(message, { writer: 'svg', size: 150 }) }}" />

所以我想要进行测试,最简单的事情就是:

<img src="{{ qrcode_url('http://www.test.com') }}" />

然而,这会带来错误:

  

在渲染模板期间抛出了异常   (&#34;无法生成指定路由的URL   &#34; endroid_qrcode_generate&#34;因为这样的路线不存在。&#34;)。

任何人都有这个工作的TWIG扩展名吗?

1 个答案:

答案 0 :(得分:2)

确保包含捆绑包的路由配置,如documentation

中所述
  

将以下部分添加到您的路由中,以便能够处理QR代码网址。如果您仅使用数据URI来显示图像,则可以跳过此步骤。

将路由配置添加到例如import R from 'lodash'; const getJsonData = (offset, limit) => ( R.slice( R.map([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], x => ({ title: `title ${x}`, subtitle: 'description', image_url: 'http://some-img-url.com', date: 'date', tag: 'tag', places: [ { places: 'places', }, ], })) , offset, limit + offset) );

<?php 
$filename = 'resources/img/college_logo/'.trim($fetch['college_name']).'.jpg';
if (file_exists(FCPATH.$filename)) {
?>
<img src="<?php echo base_url($filename); ?>">
<?php 
} else {
?>
<img src="<?php echo base_url('resources/img/college_logo/logo_not.jpg'); ?>">
<?php       
}
?>