问题描述
模板中使用的属性数量是否有限制? 我们在许多模板中使用了很多属性。 但是从一开始我们就无法向模板添加任何新的可重用属性。 我们可以创建新属性,并使用#set或[[]]子句将其值作为文本添加到页面中。 而且我们可以通过语义搜索来使用它。 但是,当我们将属性添加到模板中并将值添加为模板值时,SW不会看到它的值,而语义搜索也找不到它。
我们从MW 1.29.1和SMW 2.5.5迁移到新版本-“ smw”:“ 3.1.5”, “ mediawiki”:“ 1.34.0”, 并使用任何组合键运行重建脚本。但这并不能解决问题。有什么想法吗?
解决方法
它是SMW的经典缺点。
我尚未对此事进行技术探讨,但我认为它们与标准的MediaWiki机制存在冲突,该机制忽略了页面保存而不修改页面内容。
从页面的角度来看,模板内部的更改不会修改其内容...
要刷新,页面内容需要进行修改并保存。
一种快速而又肮脏的解决方法是对一个程序进行编程,该机器人在每个需要的页面的页面内容末尾添加一个空格字符,从而触发整个页面的重新解析。
,这可能是模板问题。
模板中使用的某些逻辑可能会阻止SMW对属性进行索引
确保{{#set:
不在{{#if:
或<noninclude>
内
其中一个SMW维护脚本应负责在对使用的模板进行更改后再次从页面中索引属性。
例如,如果您手动保存页面,则将为此索引,但是维护脚本可能不会对其进行索引。
{{#if: {{CURRENTLOGGEDUSER}} | {{#set:Key=Value|Key2={{{templateValue|}}} }} }}