【问题标题】:I fail to understand MediaWiki HTMLForm manual我无法理解 MediaWiki HTMLForm 手册
【发布时间】:2019-11-29 05:01:32
【问题描述】:

我想更改默认的 MediaWiki ContactPage 联系表单,以便我的表单不会包含:

  • 可输入的标题
  • 可输入的文本区域

相反,我希望它只包含一个简单的选择列表和(已经存在的)可输入的电子邮件字段。

选择列表应该是这种模式:

<select name="fruits">
    <option value ="none">Nothing</option>
    <option value ="guava">Guava</option>
    <option value ="lychee">Lychee</option>
    <option value ="papaya">Papaya</option>
</select>

因为在 MediaWiki 中,可以通过任何 HTMLForm(模板引擎)模板自定义 ContactPage 联系表单的 PHP,
我尝试阅读 in HTMLForm manual 以了解选择列表使用什么模板;
我发现以下模板omgaselectbox 最合适:

'omgaselectbox' => [
    'class' => 'HTMLSelectField',
    'label' => 'Select an oooption',
    'options' => [
        'Pirates' => 'pirate',
    'Ninjas' => 'ninja',
    'Back to the NINJAR!' => 'ninjars',
    ],
],

我的问题

我从 ContactForm 和 HTMLForm 手册中都不明白 omgaselectbox 是什么 - 如果它只是一个名称或命令,
如果最终的联系表单代码应该更改为包含以下内容,我进一步不了解这些手册:

'AdditionalFields' => array(
    'Text' => array(
        'label-message' => 'emailmessage',
            'type' => 'textarea',
            'rows' => 20,
            'required' => true,  // Either "true" or "false" as required
    ),
    'omgaselectbox' => [
        'class' => 'HTMLSelectField',
        'label' => 'Select an oooption',
        'options' => [
            'Pirates' => 'pirate',
        'Ninjas' => 'ninja',
        'Back to the NINJAR!' => 'ninjars',
        ],
    ],
),

只包括这个:

'AdditionalFields' => array(
    'omgaselectbox' => [
        'class' => 'HTMLSelectField',
        'label' => 'Select an oooption',
        'options' => [
            'Pirates' => 'pirate',
        'Ninjas' => 'ninja',
        'Back to the NINJAR!' => 'ninjars',
        ],
    ],
),

我的问题

omgaselectbox 的含义是什么?我对最终联系表单代码的正确之处是什么?

【问题讨论】:

  • @04FS 确实我提到了那本手册;我没有谈论myfield1myfield2;我没有检查教程 2,因为我不了解教程 1,检查教程 2 是我个人不会做的,因为我认为我应该“一步一步”走 → 我认为我误解的所有内容都应该有已在教程 1 中的相关示例下通过评论进行了解释。
  • 感谢您和 tgr 优雅地帮助我理解这一点。

标签: php html templates mediawiki contact-form


【解决方案1】:

数组键是字段名称(即结果&lt;input&gt;&lt;select&gt;name 属性;也是HTMLForm 在处理和验证表单提交后返回的值数组中的数组键)。大概它代表“OMG一个选择框!”

您可以删除 Text 字段,但用户将无法编写消息,这可能不是您想要的。

【讨论】:

  • 你好 Tgr;我尝试以一种我发现显着使其更易于阅读和处理(思考)并且更好地适应两个子问题的顺序的方式来编辑您的答案。
  • 遗憾的是,有两个模组拒绝了该编辑,但如果您认为这是正确的步骤,您仍然有权在模组之上批准它。
  • 请仔细阅读我的编辑并考虑这一点,如果您最终选择不批准,请随时标记这些 cmets。
  • 感谢您的帮助和时间,
【解决方案2】:

下面的“答案”只是我接受的user:Tgr对答案的改写;
我以一种我觉得更有序和清晰的方式重写了它。在我看来,它不应该被赞成或反对。
如果我有任何错误,我很抱歉 - 请评论此类错误。


大概omgaselectbox中的omg代表“OMG,一个选择框!”

数组键是字段名称(即结果&lt;input&gt;&lt;select&gt;name 属性;也是HTMLForm 在处理和验证表单提交后返回的值数组中的数组键)。大概它代表“OMG一个选择框!” 数组键是字段名称(即结果&lt;input&gt;&lt;select&gt;name 属性;
也是HTMLForm处理表单提交后与数组值一起返回的数组键。

也就是说,
您可以删除 Text 字段,但用户将无法编写消息,这可能不是您想要的。

【讨论】:

    猜你喜欢
    • 2021-01-30
    • 1970-01-01
    • 2015-07-30
    • 2014-06-17
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多