首先感谢前辈
http://drupalchina.cn/node/3913#comment-form
这三个模块从理论上都可以生成当前页的地址二维码。但问题是他们依赖的google(大家都懂的)和其他二维码服务商都挂了,所以如果不做内部修改的话是用不了的(惨)。mobile_codes (link is external) 这个还可以改提供商,但事实上却改不了设置(我不知道原因)。
所以如果有懂PHP的大神应该可以做维护的,然而我不是大神,所以我只有用改主题的方式增加这个功能。
这里顺便要感谢一堆外国大神:http://stackoverflow.com/questions/703426/how-to-get-the-full-url-of-a-drupal-page 这里有教怎样获取当前頁的地址。
然后要感谢 http://www.liantu.com/pingtai/ 联图提供二维码生成服务。
我们首先创建一个BLOCK,放在你需要放的地方。然后,开启Theme developer模块,找到这个block的对应模板,加入以下内容:
<?php $path = isset($_GET['q']) ? $_GET['q'] : '<front>'; ?> <?php $link = url($path, array('absolute' => TRUE)); ?> <?php $current_url = 'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
好吧,其实前两行并没有卵用(或许你们可以研究一下用处,其实等于第三行)。然后在适当位置加入这个连接:
<img src="http://qr.liantu.com/api.php?text=<?php print $current_url; ?>"/>
具体参数修改可以看联图,可以设置二维码的表现方式哦。
直接新建一个区块,然后开启PHP filter功能
直接新建一个区块,然后开启PHP filter功能,区块内容:
<?php $current_url = 'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
<img src="http://qr.liantu.com/api.php?text=<?php print $current_url; ?>"/>
测试了一下,可惜生成速度很慢。
jungle's sandbox: QR Code Block
https://www.drupal.org/sandbox/qiangjun/2414457
我有写过一个 sandbox 模块,就是生成当前页的二维码,且二维码中间带logo。
最开始实现使用是调用的 phpqrcode 这个第三方php库。
当前的实现是调用的 jQuery 库,jQuery.qrcode
不依赖第三方服务。
代码写得不怎么规范,不过可以用,后续应该会去完善。
其实我也不知道上面三个变量的值的具体含义
其实我也不知道上面三个变量的值的具体含义(我真的不懂PHP阿)