【问题标题】:MediaWiki Template Templates?MediaWiki 模板 模板?
【发布时间】:2011-06-17 06:41:29
【问题描述】:

不确定我在这里的术语是否正确。我会解释我想做什么,如果可能的话,你们可以告诉我。

我将 MediaWiki 用作客户列表页面。所以,我有一个客户类别,例如,我有 20 个客户。在实际的客户页面中,我有几个构成客户页面的“标题”,包括一个信息框。我想知道的是,我将如何将标题“包含”为模板“客户登陆页面”。意思是,每个“客户登陆页面”(客户 A 或客户 B 等)都有相同的“标题”,但内容不同 - 所以我想要的是每个客户页面,我可以包含一个“模板”和它具有相同的标题,标题下没有内容 - 因此每次我更改此“模板”文件时,它都会在每个客户上更改它,我所要做的就是编辑客户页面上所需的内容。

【问题讨论】:

    标签: templates include mediawiki


    【解决方案1】:

    您必须为整个客户页面制作一个大模板,在其中放置所有信息。我将为具有两个标题“客户登陆页面”和“更多信息”的页面制作一个示例模板。标题是固定的,下面的内容因客户页面而异。

    首先,您通过创建页面 Template:Customer 来制作模板

    你放在这里:

    =Customer Landing Page=
    {{{landingpagetext}}}
    
    =More info=
    {{{moreinfotext}}}
    

    三重荣誉表示您稍后将在每个客户页面中定义的变量。对于客户 A:

    {{customer
    | landingpagetext = This is the landingpage for customer A
    | moreinfotext = This customer is a vegetarian
    }}
    

    客户 B:

    {{customer
    | landingpagetext = This is the landingpage for customer B
    | moreinfotext = This customer likes Tom & Jerry
    }}
    

    双重荣誉表示模板的开始,第一个单词是使用的模板名称。然后在每个管道(|)之后,您可以分配变量。我只是使用换行符使其更易于阅读,您不必这样做(但它更易于维护)。

    如果您不使用变量名称(如 {{customer|Landing page text|More info text}} ),您可以按照定义它们的顺序访问变量,在模板中使用 {{{1}}}{{{2}}}

    如果客户页面非常大,您可能希望将模板拆分并每个部分使用一个。

    【讨论】:

    • 抱歉回复晚了。这个项目已经变成了一个真正的大过程。我们最终编写了一堆自定义代码,在内部进行一些子处理。从理论上讲,这似乎可行,但是,如果每个部分都需要涉及一些格式怎么办?例如,如果在“landingpagetext”区域,我们想放置项目符号怎么办?这行得通吗?
    • 更新:我想通了。因此,只要它出现在| assignedvar 之后和下一个| assignedvar 之前,你有多少换行符或空格并不重要,你可以像任何其他维基页面一样格式化它。这很棒!您的解决方案使我朝着正确的方向前进! :)
    【解决方案2】:

    另一种选择(但更复杂)是使用 Navboxes。这需要更多的设置,但可能更接近您正在寻找的内容?

    【讨论】:

      【解决方案3】:

      你可以看看使用MultiBoilerPlate,我用它来设置页面中的默认文本。我将其称为模板,但 Mediawiki 使用该术语来表示其他内容。如果您只是想在开始新页面时加载相同的 default 文本,然后用自己的文本填充,那么我认为这就是您所需要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多