MediaWiki的Cargo查询中where语句无法使用模板
今天在做某个查询模板时,发现where语句如果使用截取字符的模板,结果就没办法显示。比如我要截取页面名称的最后几个字符作为查询条件,那么可以用{{Str right|测试字符串B1|5}}来输出字符串B1(Str right模板是从维基上扒下来的)。这种做法在1.35中没问题,但是升级到1.39之后就不能使用了。解决办法的话将自动截取字符串作为一个参数包围起来,失效的时候可以手动添加,只是这...
今天在做某个查询模板时,发现where语句如果使用截取字符的模板,结果就没办法显示。比如我要截取页面名称的最后几个字符作为查询条件,那么可以用{{Str right|测试字符串B1|5}}来输出字符串B1(Str right模板是从维基上扒下来的)。这种做法在1.35中没问题,但是升级到1.39之后就不能使用了。解决办法的话将自动截取字符串作为一个参数包围起来,失效的时候可以手动添加,只是这...
对一个英文很一般的人来说,巴不得把所有命名都改成中文,不管是模板、模块、表单还是函数,但是现实很残酷,毕竟很多程序的开发都是老外在弄,对中文的支持并不是很好,就像我现在碰到的问题一样。最初在开发的时候,因为怕模板太多不容易记住,所以“自作聪明”地将所有模板名称都改为了中文,用到现在也没有太大的问题,直到最近在研究别人写的Cargo和表单代码时才发现原来是命名的问题。老规矩,先看问题。特殊页面...
之前写过一篇文章《MediaWiki实用扩展程序介绍》罗列了一些常用的MediaWiki扩展,有兴趣的可以先去看一下。最近花了好几天时间把MediaWiki官网中列出的所有扩展都大致浏览了一遍,只为找些自己能用上的。基本上用于维基基金旗下站点的差不多有两百个左右,其他扩展除去停止维护的仍有近五六百个(当然某几个只是为了配合或者增强另外一些扩展的),大体上按照官方的分类分为以下几种:用户动作用...
说起来这个问题也不算太复杂,主要就是习惯了wikitext做模板,从而陷入了一种惯性思维。先来看问题。上图框框中的原本应该是一个章节标题,结果在生成的时候跟上面的内容合并在了一起。再来看看模板。<includeonly>{{#if:{{{Biography|}}}| ==人物生平== {{{Biography|}}} }}{{#if:{{{Theories|}}}| ==主要理论...
之前用跨wiki的方式来摘取其他条目的内容,结果发现效果并不是很好。无意中发现MediaWiki官方其实有一个很好的模板:Excerpt。