创建页面帮助类页面中,我们向您介绍了类别的实用性,特别是在与ListPages模块合作时。然而,我们可以提出一个另外的问题:如果类别中的页面是相互关联的,那么是否可以自动强制每个页面具有相同的布局?当然,答案是肯定的!

动态模板

Wikidot提供了对所谓的动态模板的支持。基于每个类别的动态模板强制以相同的一般方式格式化特定类别中的所有页面。例如,如果您希望“article”类别中的所有页面都有一个字节行,那么动态模板将允许您在不需要自己编写字节行的情况下完成这一任务。

如果您还记得使用模块帮助类页面,这与您如何格式化ListPages模块的结果类似。

那么,让我们继续,看看如何使用字节行来制作一个动态模板。

要访问某个类别的动态模板,必须跳转到category:_template页面。例如,此“help”类别的活动模板位于help:_template。您可以像任何普通的维基页面一样编辑这个页面,并且每个类别都有自己独特的动态模板。

对于位于article:_template的“article”类别,我们希望将页面格式化为:

作者:
出版日期:

内容

问题是,我们如何用各自的想法来取代?动态模板使用页面变量,与ListPages模块使用的相同。页面变量(如%%created_by%%)将由创建该页面的人替换。因此,您的活动模板页面将在第一行上具有作者:%%created_by%%,但是您的单个页面将突然在页面顶部出现"By Timothy Foster"。

使用页面变量,“article”类别的活动模板现在将如下所示:

作者:%%created_by%%
出版日期:%%created_at%%

%%content%%

现在,如果您有一个名为article:first-post的页面,您将看到以下内容:

页面源代码

这是我的第一篇帖子!

**我很兴奋!**

结果

作者:Timothy Foster
出版日期:23 Jul 2014, 10:57

这是我的第一篇帖子!

我很兴奋!

要找出您可以使用的所有可能的页面变量,请务必访问Wikidot文档

静态模板

静态模板不同于动态模板。动态模板将自动使页面数据符合格式。静态模板从另一方面来说,它是预先填充编辑框的代码,以实现特定的格式。如果您有一个模板并将其设置为一个类别,那么在该类别中创建的每个页面都将以模板确定的代码开始。由于这段代码驻留在编辑框中,如果需要,创建页面的用户可以删除所有代码并以干净的方式开始,尽管那里的代码只会鼓励其他方面。

因此,与动态模板不同,页面内容不是自动符合格式的。动态模板强制格式,而静态模板只是建议。静态模板允许某些用户定制,这在某些情况下可能是需要的。

要定义模板,必须在“template”类别中创建页面。然后像任何普通页面一样编辑此页面,但是由于模板是静态的(不是活动的),所以使用页面变量(如%%content%%)不会做任何事情。相反,您需要以某种方式提醒用户信息应该放在哪里。

下面是一个静态模板页面的示例,template:article:

作者
出版日期

您在这里的内容

但是,为了将模板页面设置为类别,您需要访问站点管理器。以下是一个循序渐进的过程:

  • 在仪表板上,点击“外观与表现”。
  • 寻找“页面模板”选项。
  • 选择要应用静态模板的类别。
  • 选择要使用的静态模板。
  • 点击“保存”,您就完成了!

模板

Image Unavailable

这就是在站点管理器中的样子

数据表单

使用动态模板可以很好地控制页面的格式,但它不能很好地控制用户的页面内容。但是,数据表单允许您自定义编辑字段本身,以便提示用户输入您希望他们输入的准确信息。例如,如果您希望用户输入姓名、出生日期和简短的传记,那么使用数据表单将是完美的。

样本形式

Image Unavailable

这就是典型的表单编辑字段的样子

数据表单是按类别工作的,就像实时模板一样。事实上,建立数据表单需要使用动态模板页面!每个数据表单的开头总是相同的;在动态模板页面上,将下面的代码粘贴在编辑字段的底部:

====
[[form]]
fields:

[[/form]]

在单词“field:”之后,指定要显示的编辑字段类型。例如,上面的图像使用以下代码:

fields:
  author:
    type: text
    label: Author
  date:
    type: date
    label: Date
  content:
    type: wiki
    height: 8
    label: Content

总共有11种不同的字段类型(从标准文本到文件附件),每种类型都有多种选项。所有这些字段类型和选项都是使用上述格式在动态模板页面上指定的。这个页面只是作为一个介绍,因此要了解更多信息,请务必查阅Wikidot文档或咨询Wikidot社区

为了使用用户放置的值,可以使用形式变量。表单变量就像页面变量一样工作。在上面的示例中,如果我想使用输入到author字段的值,我将使用%%form_data{author}%%。若要使用content字段,我将使用%%form_data{content}%%。您可以在Wikidot文档上了解更多有关这些的信息。