帮助:讨论工具/为什么我不能回复这条留言?
| 注意:当您编辑本页面时,即同意以CC0协议授权您的贡献。您可以在公有领域帮助页面找到更多信息。 |
讨论页对那些恰当的格式没有限制。 讨论工具在大多数情况下应该能识别到留言,但是仍然存在一些含糊的情况,它们或是无法分辨出某一段落是否为留言,或是不知道往哪里添加对某一讨论串的回复。 如果讨论工具不能提供正确的操作,那么比起去猜测或是去进一步破坏页面,它将会不允许我们回复这一留言。
本页面记载了一些您可能遇到的错误,以及它们的产生原因和解决方案。
“回复”按钮没有出现
这种错误一般出现在某一留言的签名未能被检测到的时候。
回复功能被禁用
根据Help:DiscussionTools/Magic words and markup中的描述,只要使用__ARCHIVEDTALK__或<div class="mw-archivedtalk">…</div>,回复功能的确可以在讨论串存档中被禁用。
未签名的留言
这种错误显然易见,但为了保持本页面的完整性我们还是要提一嘴。 如果有一条留言没有签名,那么它就不会被讨论工具检测到。 讨论页中也有可能含有一些不是留言的内容(比方说某些顶部模板),它们可没法从那堆未签名的留言中被可靠地分辨出来,而在它们那儿添加回复链接更是超出了讨论工具的预期。
如果有人手动地回复了那条留言,那么他们的回复会连同最初那条没签名的留言那样被视作为一个单独的多行留言,有可能引发超出预期的行为。
无日期和时间
若签名缺少日期和时间,留言也将无法被检测到。 这些签名无法与用户的提及可靠区分,若为其添加回复链接往往会造成预期之外的效果。
最常见的原因是有人在未签名的留言中添加了签名,但未同时注明日期和时间。
诸如{{Unsigned}}之类的模板通常设有独立参数,您可直接从页面历史记录中复制日期与时间信息。
未识别的命名空间
命名空间中大部分用于讨论的空间都提供回复工具,但并非所有命名空间都具备此功能。
若遇此问题,您会看到页面的命名空间中不含“讨论”字样(例如Wikipedia:Village pump),且整个页面都找不到“回复”链接。
通常,它会遵循您维基中关于全文编辑器中签名工具的配置设定。
尤其,在Project:命名空间中可能无法使用。
它可以在任何合理的命名空间中启用。
如需在不同命名空间中使用,请向编辑团队寻求帮助。
模糊的“未签名”模板
使用模板签署未签名留言时,该模板必须输出以下内容:
- 用户个人页面、讨论页或贡献页面的链接
- 日期与时间(即“时间戳”),格式同签名中使用的格式,含括号内时区信息
- 用户页、讨论页或贡献页链接必须置于日期和时间之前(如同常规签名格式)
非标准日期或时间格式
若有人使用与维基默认不同的日期或时间格式给留言签名,他们的留言将无法被检测到。
有时编辑在手动添加留言时可能会意外修改他人签名,从而破坏格式。
另一种常见情况是,在未签名留言中添加了签名,但未附带时区指示符(例如“(UTC)”),或使用了与维基不同的时区。
没有到用户页的链接
签名中必须包含用户个人页面、讨论页或贡献历史的链接。
“回复”链接无法用于回复此留言
当留言似乎是从其他页面嵌入,但工具无法确定具体来源页面时,便会显示此错误信息,因此也无法确定添加回复的位置。 这可能由以下原因引起:
意外复杂嵌入
Parsoid 嵌入必须为格式良好的 HTML 片段。 当被嵌入页面的维基文本未能生成格式良好的HTML(例如存在未闭合的标签,或生成没有表格的表格行时),嵌入范围将扩展至包含来自嵌入页面(或其他被嵌入页面)的维基文本。
例如,若页面中较早引用的子页面包含未闭合的<div>标签,则后续所有被引用的子页面都将被视为同一引用部分,直至该标签闭合(或直至页面结束)。
讨论工具仅支持以下简单嵌入(即仅包含一个嵌入页面,且不会影响周围维基文本的格式)。
您通常可以通过在可视化编辑器中打开页面进行编辑来调试此问题(即使该命名空间中禁用了可视化编辑器,您也可以通过向URL添加?veaction=edit来实现),点击页面中出错的片段,然后在模板对话框的“侧边栏”中查看是否包含了多个页面或“内容”嵌入。
模板樣式
上述问题的常见原因在于使用了模板样式的模板。
当模板以<templatestyles …> wikitext标签开头,且它被用于段落的末尾时(类似地,若它以该标签结尾并被用于段落开头),生成的<style> HTML标签可能会被置于对应段落的<p>...</p> HTML标签内部,而模板的其余内容则位于其外部。
随后,嵌入范围扩展至整个段落,使得回复工具无法用于回应此类留言。
您可以通过将<templatestyles>...</templatestyles> wikitext标签移至模板生成的标记内部来解决此问题——例如,若模板生成<div>…</div>标签,请将其移至起始<div>之后;若模板使用{| … |}生成表格,则将其移入表格单元格内(注意不要直接放置在表格标记之后,否则会引发其他问题)。
包装模板
当讨论片段被诸如{{Discussion top}}+{{Discussion bottom}}等模板包裹时,被包裹的留言将无法进行回复。
DiscussionTools依赖Parsoid将回复内容添加至HTML文档中,但嵌入包含的内容仅能以wikitext形式进行编辑。
通常包装模板用于归档或结束讨论,因此无法回复这些留言很少成为问题。 若您在回复留言时,有人为该留言添加了包装模板,您将看到错误提示,且无法通过讨论工具发布您的回复。
有时整个页面会被模板包裹,以添加装饰性边框或背景。在这些情况下,可以直接使用纯HTML语法。 In these cases, plain HTML syntax may be used instead. However, this may then cause the reply tool to automatically insert a missing closing HTML tag when someone replies to a post on that page.
模板参数中的留言
例如{{Vyznamenat/oznam|text=Hello. ~~~~}}这类出现在模板参数中的留言,无法进行回复。
嵌套引用或解析器函数语法
当讨论页为每个月设有独立子页面时,常采用基于当前日期的动态嵌入技术,这样只需自动载入最近几个子页面,无需手动进行归档操作。
当子页面嵌入位于解析器函数(如{{#ifexpr:)内部时,DiscussionTools仅能识别该解析器函数,无法判断其中具体嵌入了哪个页面。
您可以通过将条件解析器函数放在包含语法内部来解决这个问题。 参见示例。
页面上未找到您要回复的留言
通常此错误信息表示在您阅读留言期间,该留言已被其他人从页面移除。 该内容可能已被撤销、存档、移至其他讨论页面,或者签名可能已被更改(例如,若有人未登录时发表留言后更正了用户名,或补充内容后重新签名)。
若刷新并清空页面后仍能看到该留言,且依然出现此错误,则可能是Parsoid存在程序缺陷,导致其渲染页面与PHP解析器结果不一致(讨论工具内部使用Parsoid来添加新留言)。 请提交一个任务!
由于wikitext中存在错误,此页面上的留言无法回复
当页面因不合法内容出现lint错误时,您会看到这条提示信息。
A common cause of this is content or markup placed directly after a table start {| or a table row start |-, rather than inside a table cell.使用依赖Parsoid的工具(如讨论工具或可视化编辑器)编辑这些页面可能导致内容损坏(页面的大段内容出现重复)。
要解决此问题,您可以在维基文本编辑器中修复此lint错误。 错误信息中包含了一些链接,但愿能有所帮助。