跳转到主要内容
maramail 提交于 8 June 2015

首先感谢前辈

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; ?>"/>

具体参数修改可以看联图,可以设置二维码的表现方式哦。

Drupal 版本