mediawiki - 将参数从动态页面列表传递到 Semantic Mediawiki

标签 mediawiki mediawiki-templates semantic-mediawiki dynamic-pages

我正在尝试创建一个模板,该模板将通过使用动态页面列表生成页面列表来输出动态报告,然后使用 Semantic Mediawiki 在每个页面上运行查询,将整个困惑情况输出到表格中。模板的结构如下所示:

{| class="wikitable sortable collapsible collapsed" width="100%"
|- valign="bottom"
! width="15%" | Compound ID
! width="15%" | Generic name
! width="15%" | Trade name
! width="15%" | Developer
! width="10%" | Phase of development
! width="30%" | Target
{{#dpl:
 | category=compounds
 | linksto={{PAGENAME}}{{#dpl: linksto={{PAGENAME}} | redirects=only | mode=userformat | format=,{{!}},%TITLE%, | suppresserrors=true }}
 | ignorecase=true
 | distinct=strict
 | format=,{{!}}- valign="top"\n{{indication-based compound list/row|%TITLE%}}\n
 | noresultsheader={{!}}-\n{{!}} colspan="6" align="center" {{!}} ''No compounds have yet been studied for this indication.''
}}
|}

{{indication-based compound list/row}} 由以下部分组成:

<includeonly>{{!}} {{#show: {{{1}}} | ?compound id }}
{{!}}{{!}} {{#show: {{{1}}} | ?compound generic name }}
{{!}}{{!}} {{#show: {{{1}}} | ?compound trade name }}
{{!}}{{!}} {{#show: {{{1}}} | ?developer }}
{{!}}{{!}} {{#ask: [[category:clinical studies]][[compound number::{{{1|}}}]] | ?Study phase=| limit=1| mainlabel=-| searchlabel=| sort=Study phase| order=descending }}
{{!}}{{!}} {{#show: {{{1|}}} | ?target }}</includeonly>

{{#ask}} 查询是为什么这不仅仅是一个直接的 DPL 表的原因:因为针对特定适应症的特定化合物的临床开发的当前阶段是一个经常变化的动态数据,唯一的选择似乎是使用 {{#ask}} 查询来找出满足参数的临床试验中研究阶段的最高值。但是这个模板将调查自动生成的页面,我没有办法为每个化合物自动加载指示列表(以应用语义标记),所以它是根据本身的指示链接列表生成的由每个复合页面上的 {{#dpl}} 函数生成。

我已经一步步走过来了,以下都不是问题:

  1. 模板代码是合理的,并生成正确的结构。
  2. 表格行模板是合理的,如果我删除 {{#dpl}} 函数并将其替换为模板和复合页面名称作为参数,例如{{indication-based compound list/row|infliximab}},它准确地创建了我正在寻找的输出。
  3. {{#dpl}} 函数在使用默认输出格式时生成正确的页面列表。
  4. {{#dpl}} 函数在将 format = ,{{template}} 与简单的虚拟模板(只是一个无序列表)。

但是,当我将所有部分放在一起时,我只会得到空的表格单元格。 {{#show}}{{#ask}} 函数似乎无法接受 DPL 输入作为参数。是否有我要跳过的额外参数或中间步骤可以清理输入并使整个工作正常进行?还是 DPL 和 SMW 在这种方式上根本不兼容?

  • 动态页面列表 2.01
  • 语义媒体维基 1.8
  • MediaWiki 1.20.2
  • PHP 5.3.19 (apache2handler)
  • MySQL 5.1.30

最佳答案

看起来问题是当您使用 格式时,Semantic Mediawiki 无法解析动态页面列表生成的 PAGE%%TITLE% 变量 参数,并且没有办法解决这个问题,因为 DPL 在函数完成之前不会将它们呈现为真实数据。

关于mediawiki - 将参数从动态页面列表传递到 Semantic Mediawiki,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967053/

相关文章:

html - 如何向 Mediawiki 链接添加自定义/额外属性?

html - MediaWiki 模板表条件列

mediawiki - 条件类别

mediawiki - 在 Semantic MediaWiki 中查询逆关系

javascript - 将 OpenJSCAD 集成到 MediaWiki

php - 尝试在 Amazon EC2 上升级 sqlite

composer-php - Composer 配置 : add "extra" value as array

linux - MediaWiki 扩展目录的默认位置