怎么评价MediaWiki的网络书源呢?基本上有点鸡肋的意思,因为你用它提供的链接进入几个常用的网站是没有任何结果的。
mediawiki-book-store-list.png
不信的话你可以试一下上图中的几个链接。
再一则,这都什么年代了,卓越被亚马逊合并都多少年了,早就成了亚马逊中国了,还在用这个名字。而另一个买书的网站京东也没有出现在书源中。至于什么博客来和三民这种不在大陆范围内的在线书店也没有什么特别意义(当然偶尔搜一下台版书和原版书的话还是有用的)。
让我们再来看看维基百科的网络书源,那叫一个大而全,不但有在线书商也提供了各个图书馆的链接,甚至有其他国家的。
wikipedia-books-source.png
wikipedia-book-store-list.png
那么有没有办法实现跟维基百科类似的呢?答案当然是肯定的。

一、简易修改

如果你只是不喜欢MediaWiki自带的网络书源网站,但也没想法搞成像维基百科那样的,那么有一个简单的方法。
首先,找到网站目录下的languages\messages\MessagesZh_hans.php文件,翻到底部找到$bookstoreList,之后的几行代码就是网络书源中的网站地址和链接。之所以我们用网络书源会搜不到任何结果是因为这里的代码已经很多年没有更改过了,各大网站的搜索API早就改了。
附上最新可用的代码,喜欢的可以直接复制走(注:截至到发文前,除最后一个外均已更新可用,因为用不到所以懒得再弄,只是做个样子)。

$bookstoreList = [
    '亚马逊中国' => 'https://www.amazon.cn/s?i=stripbooks&k=$1',
    '当当网' => 'http://search.dangdang.com/?key=$1',
    '京东' => 'https://search.jd.com/Search?keyword=$1',
    '亚马逊' => 'https://www.amazon.com/s?k=$1',
    'AddALL' => 'https://addall.com/New/isbn-lookup.cgi?isbn=$1',
    'Barnes & Noble' => 'http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
];

修改效果见下图,书源的链接已改变。
mediawiki-book-sources.png

二、超级变变变

上述的变化适合不喜欢折腾且不愿频繁升级的朋友,因为一旦升级之后上述工作又得重复一遍。
其实MediaWiki还是给我们留了一个很方便的修改途径,就是在你的维基站中创建project:网络书源(project就是在设置中你起的网站项目名,比如我的project为“心百科”)。
其中的内容和格式都跟其他维基页面没有任何区别(可以随意使用模板等)。
比如你想列出所有的网络书商并且能通过链接直接到达商品页面,那么在编辑器中输入如下内容:

== 在线购买 ==
*当当网:[http://search.dangdang.com/?key=MAGICNUMBER 购买此书]
*京东商城:[https://search.jd.com/Search?keyword=MAGICNUMBER 购买此书]
*亚马逊中国:[https://www.amazon.cn/s?i=stripbooks&k=MAGICNUMBER 购买此书]
*……

保存后重新回到网络书源试一下。
mediawiki-project-book-sources.png
注意:如果MAGICNUMBER无效的话,可以在LocalSettings.php中加入如下代码:

$wgEnableMagicLinks['ISBN'] = true;

以上仅提供给各位一点思路。好了,发挥你的想象尽情折腾吧!

最后修改:2021 年 06 月 24 日
如果觉得我的文章对你有用,请随意赞赏